From 1119a2c71a5f6b4e23ac0a19784705002ca9cefd Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 20 Apr 2011 03:30:03 +0000 Subject: 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 --- src/shared/ClashAvoider.cpp | 8 ++++++++ src/shared/ClashAvoider.hpp | 3 +++ 2 files changed, 11 insertions(+) (limited to 'src/shared') 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); -- cgit v1.2.1