summaryrefslogtreecommitdiffstats
path: root/src/server/events/Get.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-02-08 07:02:59 +0000
committerDavid Robillard <d@drobilla.net>2015-02-08 07:02:59 +0000
commit0f9c8151d5b42b243a499bb31a1e1f0b2e8c5f6f (patch)
tree1ed4df4df4c3f160120544d92c681f1b4519e1aa /src/server/events/Get.hpp
parent8733afb7ae9a04f46ac6318667182da16eca9fe5 (diff)
downloadingen-0f9c8151d5b42b243a499bb31a1e1f0b2e8c5f6f.tar.gz
ingen-0f9c8151d5b42b243a499bb31a1e1f0b2e8c5f6f.tar.bz2
ingen-0f9c8151d5b42b243a499bb31a1e1f0b2e8c5f6f.zip
Server-side copy paste with LV2 state support.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5541 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/events/Get.hpp')
-rw-r--r--src/server/events/Get.hpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/server/events/Get.hpp b/src/server/events/Get.hpp
index 7aea8c77..e0ed3483 100644
--- a/src/server/events/Get.hpp
+++ b/src/server/events/Get.hpp
@@ -17,6 +17,8 @@
#ifndef INGEN_EVENTS_GET_HPP
#define INGEN_EVENTS_GET_HPP
+#include <vector>
+
#include "Event.hpp"
#include "BlockFactory.hpp"
#include "types.hpp"
@@ -24,7 +26,10 @@
namespace Ingen {
namespace Server {
+class BlockImpl;
+class GraphImpl;
class PluginImpl;
+class PortImpl;
namespace Events {
@@ -45,7 +50,6 @@ public:
void execute(ProcessContext& context) {}
void post_process();
-private:
/** A sequence of puts and connects to respond to client with.
* This is constructed in the pre_process() and later sent in
* post_process() to avoid the need to lock.
@@ -63,11 +67,17 @@ private:
void put_port(const PortImpl* port);
void put_block(const BlockImpl* block);
void put_graph(const GraphImpl* graph);
-
+
+ void send(Interface* dest);
+
struct Put {
Raul::URI uri;
Resource::Properties properties;
Resource::Graph ctx;
+
+ inline bool operator<(const Put& other) {
+ return uri < other.uri;
+ }
};
struct Connect {
@@ -79,6 +89,7 @@ private:
std::vector<Connect> connects;
};
+private:
const Raul::URI _uri;
const Node* _object;
const PluginImpl* _plugin;