Remove c-pointer Controllable* registry
authorRobin Gareus <robin@gareus.org>
Sat, 23 Mar 2019 00:37:28 +0000 (01:37 +0100)
committerRobin Gareus <robin@gareus.org>
Sat, 23 Mar 2019 00:42:03 +0000 (01:42 +0100)
libs/pbd/controllable.cc
libs/pbd/pbd/controllable.h

index fa25826294664e18520c8c0c3500f9aa87dc7dad..69a58b4d0eb5274e86ae9c25a78d3e279ef88af8 100644 (file)
@@ -34,74 +34,13 @@ PBD::Signal1<bool,Controllable*> Controllable::StartLearning;
 PBD::Signal1<void,Controllable*> Controllable::StopLearning;
 PBD::Signal1<void, boost::weak_ptr<PBD::Controllable> > 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 ()
index d40530c7e29ba9c7d1478107eba688baa8b256bb..dbbea5dc5f8d7caae9f7921edbf944eada59dc5d 100644 (file)
@@ -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<PBD::Controllable*> Controllables;
-       static Glib::Threads::RWLock registry_lock;
-       static Controllables registry;
 };
 
 /* a utility class for the occasions when you need but do not have