diff options
Diffstat (limited to 'src/core/nodes/qbackendnode.cpp')
-rw-r--r-- | src/core/nodes/qbackendnode.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/core/nodes/qbackendnode.cpp b/src/core/nodes/qbackendnode.cpp index dc751cb93..65d140067 100644 --- a/src/core/nodes/qbackendnode.cpp +++ b/src/core/nodes/qbackendnode.cpp @@ -42,6 +42,7 @@ #include <Qt3DCore/qaspectengine.h> #include <Qt3DCore/qnode.h> +#include <Qt3DCore/qnodecommand.h> #include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DCore/private/corelogging_p.h> @@ -206,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); |