summaryrefslogtreecommitdiffstats
path: root/src/engine/events/DisconnectAll.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-04-20 03:30:03 +0000
committerDavid Robillard <d@drobilla.net>2011-04-20 03:30:03 +0000
commit1119a2c71a5f6b4e23ac0a19784705002ca9cefd (patch)
tree14f1a7f2b270185defc9e99ddf03e108b6767c8b /src/engine/events/DisconnectAll.hpp
parent7042795c8138f03124539f0efc892fe45eb2979f (diff)
downloadingen-1119a2c71a5f6b4e23ac0a19784705002ca9cefd.tar.gz
ingen-1119a2c71a5f6b4e23ac0a19784705002ca9cefd.tar.bz2
ingen-1119a2c71a5f6b4e23ac0a19784705002ca9cefd.zip
Move disconnect_all to CommonInterface and implement in clients.
Factor out process thread implementation of Disconnect into Disconnect::Impl. Implement DisconnectAll in terms of DisconnectImpl rather than abusing Disconnect. Dramatically reduce notification communication overhead of DisconnectAll. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3179 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/events/DisconnectAll.hpp')
-rw-r--r--src/engine/events/DisconnectAll.hpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/engine/events/DisconnectAll.hpp b/src/engine/events/DisconnectAll.hpp
index ee8fbade..65c9599f 100644
--- a/src/engine/events/DisconnectAll.hpp
+++ b/src/engine/events/DisconnectAll.hpp
@@ -20,6 +20,8 @@
#include "raul/List.hpp"
#include "raul/Path.hpp"
+
+#include "Disconnect.hpp"
#include "QueuedEvent.hpp"
namespace Ingen {
@@ -69,16 +71,17 @@ private:
void remove_connection(ConnectionImpl* c);
- Raul::Path _parent_path;
- Raul::Path _path;
- PatchImpl* _parent;
- NodeImpl* _node;
- PortImpl* _port;
- Raul::List<Disconnect*> _disconnect_events;
+ Raul::Path _parent_path;
+ Raul::Path _path;
+ PatchImpl* _parent;
+ NodeImpl* _node;
+ PortImpl* _port;
+
+ Raul::List<Disconnect::Impl*> _disconnect_events;
CompiledPatch* _compiled_patch; ///< New process order for Patch
- bool _deleting;
+ bool _deleting;
};
} // namespace Engine