diff options
author | David Robillard <d@drobilla.net> | 2011-04-20 03:30:03 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-04-20 03:30:03 +0000 |
commit | 1119a2c71a5f6b4e23ac0a19784705002ca9cefd (patch) | |
tree | 14f1a7f2b270185defc9e99ddf03e108b6767c8b /src/shared | |
parent | 7042795c8138f03124539f0efc892fe45eb2979f (diff) | |
download | ingen-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/shared')
-rw-r--r-- | src/shared/ClashAvoider.cpp | 8 | ||||
-rw-r--r-- | src/shared/ClashAvoider.hpp | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/shared/ClashAvoider.cpp b/src/shared/ClashAvoider.cpp index 10a26934..0e44ef85 100644 --- a/src/shared/ClashAvoider.cpp +++ b/src/shared/ClashAvoider.cpp @@ -178,6 +178,14 @@ ClashAvoider::disconnect(const Raul::Path& src_port_path, _target.disconnect(map_path(src_port_path), map_path(dst_port_path)); } + +void +ClashAvoider::disconnect_all(const Raul::Path& parent_patch_path, + const Raul::Path& path) +{ + _target.disconnect_all(map_path(parent_patch_path), map_path(path)); +} + void ClashAvoider::set_property(const Raul::URI& subject, const Raul::URI& predicate, diff --git a/src/shared/ClashAvoider.hpp b/src/shared/ClashAvoider.hpp index 3cd5c8ba..4322957c 100644 --- a/src/shared/ClashAvoider.hpp +++ b/src/shared/ClashAvoider.hpp @@ -64,6 +64,9 @@ public: virtual void disconnect(const Raul::Path& src_port_path, const Raul::Path& dst_port_path); + virtual void disconnect_all(const Raul::Path& parent_patch_path, + const Raul::Path& path); + virtual void set_property(const Raul::URI& subject_path, const Raul::URI& predicate, const Raul::Atom& value); |