summaryrefslogtreecommitdiffstats
path: root/src/server/Engine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/Engine.cpp')
-rw-r--r--src/server/Engine.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/server/Engine.cpp b/src/server/Engine.cpp
index 35b71a39..eb7c94ee 100644
--- a/src/server/Engine.cpp
+++ b/src/server/Engine.cpp
@@ -525,6 +525,24 @@ Engine::process_all_events()
}
void
+Engine::add_to_store(Node* const node)
+{
+ store()->add(node);
+
+ if (BlockImpl* const block = dynamic_cast<BlockImpl*>(node)) {
+ for (uint32_t i = 0; i < block->num_ports(); ++i) {
+ store()->add(block->port(i));
+ }
+ }
+
+ if (GraphImpl* const graph = dynamic_cast<GraphImpl*>(node)) {
+ for (BlockImpl& block : graph->blocks()) {
+ store()->add(&block);
+ }
+ }
+}
+
+void
Engine::register_client(SPtr<Interface> client)
{
log().info(fmt("Registering client <%1%>\n") % client->uri().c_str());