diff options
Diffstat (limited to 'src/core/nodes/qbackendnode.cpp')
-rw-r--r-- | src/core/nodes/qbackendnode.cpp | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/src/core/nodes/qbackendnode.cpp b/src/core/nodes/qbackendnode.cpp index 6970794b8..65d140067 100644 --- a/src/core/nodes/qbackendnode.cpp +++ b/src/core/nodes/qbackendnode.cpp @@ -39,9 +39,12 @@ #include "qbackendnode.h" #include "qbackendnode_p.h" -#include "qaspectengine.h" -#include "qnode.h" -#include "qpropertyupdatedchange.h" + +#include <Qt3DCore/qaspectengine.h> +#include <Qt3DCore/qnode.h> +#include <Qt3DCore/qnodecommand.h> +#include <Qt3DCore/qpropertyupdatedchange.h> + #include <Qt3DCore/private/corelogging_p.h> QT_BEGIN_NAMESPACE @@ -204,6 +207,25 @@ void QBackendNode::notifyObservers(const QSceneChangePtr &e) d->notifyObservers(e); } +QNodeCommand::CommandId QBackendNode::sendCommand(const QString &name, + const QVariant &data, + QNodeCommand::CommandId replyTo) +{ + auto e = QNodeCommandPtr::create(peerId()); + e->setName(name); + e->setData(data); + e->setReplyToCommandId(replyTo); + e->setDeliveryFlags(QSceneChange::Nodes); + notifyObservers(e); + return e->commandId(); +} + +void QBackendNode::sendReply(const QNodeCommandPtr &command) +{ + command->setDeliveryFlags(QSceneChange::Nodes); + notifyObservers(command); +} + void QBackendNode::initializeFromPeer(const QNodeCreatedChangeBasePtr &change) { Q_UNUSED(change); @@ -231,7 +253,7 @@ void QBackendNode::sceneChangeEvent(const QSceneChangePtr &e) switch (e->type()) { case PropertyUpdated: { if (propertyChange->propertyName() == QByteArrayLiteral("enabled")) - d->m_enabled = propertyChange->value().value<bool>(); + d->m_enabled = propertyChange->value().toBool(); break; } default: |