From 1dedadd03f83663ecda2ec0a49c16dbec8d6bd18 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 23 Mar 2019 01:37:28 +0100 Subject: [PATCH] Remove c-pointer Controllable* registry --- libs/pbd/controllable.cc | 63 +------------------------------------ libs/pbd/pbd/controllable.h | 9 ------ 2 files changed, 1 insertion(+), 71 deletions(-) diff --git a/libs/pbd/controllable.cc b/libs/pbd/controllable.cc index fa25826294..69a58b4d0e 100644 --- a/libs/pbd/controllable.cc +++ b/libs/pbd/controllable.cc @@ -34,74 +34,13 @@ PBD::Signal1 Controllable::StartLearning; PBD::Signal1 Controllable::StopLearning; PBD::Signal1 > Controllable::GUIFocusChanged; -Glib::Threads::RWLock Controllable::registry_lock; -Controllable::Controllables Controllable::registry; -PBD::ScopedConnectionList* registry_connections = 0; const std::string Controllable::xml_node_name = X_("Controllable"); Controllable::Controllable (const string& name, Flag f) : _name (name) , _flags (f) , _touching (false) -{ - add (*this); -} - -void -Controllable::add (Controllable& ctl) -{ - using namespace boost; - - Glib::Threads::RWLock::WriterLock lm (registry_lock); - registry.insert (&ctl); - - if (!registry_connections) { - registry_connections = new ScopedConnectionList; - } - - /* Controllable::remove() is static - no need to manage this connection */ - - ctl.DropReferences.connect_same_thread (*registry_connections, boost::bind (&Controllable::remove, &ctl)); -} - -void -Controllable::remove (Controllable* ctl) -{ - Glib::Threads::RWLock::WriterLock lm (registry_lock); - - for (Controllables::iterator i = registry.begin(); i != registry.end(); ++i) { - if ((*i) == ctl) { - registry.erase (i); - break; - } - } -} - -Controllable* -Controllable::by_id (const ID& id) -{ - Glib::Threads::RWLock::ReaderLock lm (registry_lock); - - for (Controllables::iterator i = registry.begin(); i != registry.end(); ++i) { - if ((*i)->id() == id) { - return (*i); - } - } - return 0; -} - -Controllable* -Controllable::by_name (const string& str) -{ - Glib::Threads::RWLock::ReaderLock lm (registry_lock); - - for (Controllables::iterator i = registry.begin(); i != registry.end(); ++i) { - if ((*i)->_name == str) { - return (*i); - } - } - return 0; -} +{} XMLNode& Controllable::get_state () diff --git a/libs/pbd/pbd/controllable.h b/libs/pbd/pbd/controllable.h index d40530c7e2..dbbea5dc5f 100644 --- a/libs/pbd/pbd/controllable.h +++ b/libs/pbd/pbd/controllable.h @@ -150,8 +150,6 @@ public: Flag flags() const { return _flags; } void set_flags (Flag f); - static Controllable* by_id (const PBD::ID&); - static Controllable* by_name (const std::string&); static const std::string xml_node_name; protected: @@ -167,13 +165,6 @@ private: std::string _units; Flag _flags; bool _touching; - - static void add (Controllable&); - static void remove (Controllable*); - - typedef std::set Controllables; - static Glib::Threads::RWLock registry_lock; - static Controllables registry; }; /* a utility class for the occasions when you need but do not have