summaryrefslogtreecommitdiffstats
path: root/src/core/nodes/qbackendnode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/nodes/qbackendnode.cpp')
-rw-r--r--src/core/nodes/qbackendnode.cpp20
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);