diff options
Diffstat (limited to 'libs/pbd/pbd/controllable.h')
-rw-r--r-- | libs/pbd/pbd/controllable.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/pbd/pbd/controllable.h b/libs/pbd/pbd/controllable.h index c88eb298bc..c152013c66 100644 --- a/libs/pbd/pbd/controllable.h +++ b/libs/pbd/pbd/controllable.h @@ -2,6 +2,7 @@ #define __pbd_controllable_h__ #include <string> +#include <set> #include <sigc++/trackable.h> #include <sigc++/signal.h> @@ -36,8 +37,18 @@ class Controllable : public PBD::StatefulDestructible { std::string name() const { return _name; } + static Controllable* by_id (const PBD::ID&); + static Controllable* by_name (const std::string&); + private: std::string _name; + + void add (); + void remove (); + + typedef std::set<PBD::Controllable*> Controllables; + static Glib::Mutex* registry_lock; + static Controllables registry; }; } |