From 1b8f06504a155e75a9419dfa5c9bf9df1866e01d Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 19 Aug 2008 01:41:42 +0000 Subject: Factor out destroy (and object_destroyed) to common interface. git-svn-id: http://svn.drobilla.net/lad/ingen@1443 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/client/ClientStore.cpp | 10 +++------- src/libs/client/ClientStore.hpp | 2 +- src/libs/client/OSCClientReceiver.cpp | 2 +- src/libs/client/SigClientInterface.hpp | 2 +- src/libs/client/ThreadedSigClientInterface.hpp | 2 +- 5 files changed, 7 insertions(+), 11 deletions(-) (limited to 'src/libs/client') diff --git a/src/libs/client/ClientStore.cpp b/src/libs/client/ClientStore.cpp index b6477b1f..0597aa21 100644 --- a/src/libs/client/ClientStore.cpp +++ b/src/libs/client/ClientStore.cpp @@ -42,7 +42,7 @@ ClientStore::ClientStore(SharedPtr engine, SharedPtrsignal_object_destroyed.connect(sigc::mem_fun(this, &ClientStore::destruction)); + emitter->signal_object_destroyed.connect(sigc::mem_fun(this, &ClientStore::destroy)); emitter->signal_object_renamed.connect(sigc::mem_fun(this, &ClientStore::rename)); emitter->signal_new_plugin.connect(sigc::mem_fun(this, &ClientStore::new_plugin)); emitter->signal_new_patch.connect(sigc::mem_fun(this, &ClientStore::new_patch)); @@ -324,7 +324,6 @@ ClientStore::remove_object(const Path& path) return result; } else { - cerr << "[Store] Unable to find object " << path << " to remove." << endl; return SharedPtr(); } } @@ -372,14 +371,11 @@ ClientStore::add_plugin(SharedPtr pm) void -ClientStore::destruction(const Path& path) +ClientStore::destroy(const std::string& path) { SharedPtr removed = remove_object(path); - removed.reset(); - - /*cerr << "Store removed object " << path - << ", count: " << removed.use_count();*/ + //cerr << "[ClientStore] removed object " << path << ", count: " << removed.use_count(); } void diff --git a/src/libs/client/ClientStore.hpp b/src/libs/client/ClientStore.hpp index d904a3e3..954dcc04 100644 --- a/src/libs/client/ClientStore.hpp +++ b/src/libs/client/ClientStore.hpp @@ -79,6 +79,7 @@ public: void set_voice_value(const string& port_path, uint32_t voice, const Raul::Atom& value); void connect(const string& src_port_path, const string& dst_port_path); void disconnect(const string& src_port_path, const string& dst_port_path); + void destroy(const string& path); typedef list< std::pair > ConnectionRecords; const ConnectionRecords& connection_records() { return _connection_orphans; } @@ -115,7 +116,6 @@ private: void bundle_end() {} // Slots for SigClientInterface signals - void destruction(const Path& path); void rename(const Path& old_path, const Path& new_path); void patch_cleared(const Path& path); void port_activity(const Path& port_path); diff --git a/src/libs/client/OSCClientReceiver.cpp b/src/libs/client/OSCClientReceiver.cpp index 23fcd871..b2de59e5 100644 --- a/src/libs/client/OSCClientReceiver.cpp +++ b/src/libs/client/OSCClientReceiver.cpp @@ -181,7 +181,7 @@ OSCClientReceiver::_new_patch_cb(const char* path, const char* types, lo_arg** a int OSCClientReceiver::_destroyed_cb(const char* path, const char* types, lo_arg** argv, int argc, lo_message msg) { - object_destroyed((const char*)&argv[0]->s); + destroy((const char*)&argv[0]->s); return 0; } diff --git a/src/libs/client/SigClientInterface.hpp b/src/libs/client/SigClientInterface.hpp index a272fdee..ee626042 100644 --- a/src/libs/client/SigClientInterface.hpp +++ b/src/libs/client/SigClientInterface.hpp @@ -113,7 +113,7 @@ protected: void connect(const string& src_port_path, const string& dst_port_path) { if (_enabled) signal_connection.emit(src_port_path, dst_port_path); } - void object_destroyed(const string& path) + void destroy(const string& path) { if (_enabled) signal_object_destroyed.emit(path); } void patch_cleared(const string& path) diff --git a/src/libs/client/ThreadedSigClientInterface.hpp b/src/libs/client/ThreadedSigClientInterface.hpp index 7cbb2bfe..b3a1b72c 100644 --- a/src/libs/client/ThreadedSigClientInterface.hpp +++ b/src/libs/client/ThreadedSigClientInterface.hpp @@ -104,7 +104,7 @@ public: void connect(const string& src_port_path, const string& dst_port_path) { push_sig(sigc::bind(connection_slot, src_port_path, dst_port_path)); } - void object_destroyed(const string& path) + void destroy(const string& path) { push_sig(sigc::bind(object_destroyed_slot, path)); } void patch_cleared(const string& path) -- cgit v1.2.1