sigc::signal<void,Controllable*> Controllable::Destroyed;
sigc::signal<bool,Controllable*> Controllable::StartLearning;
sigc::signal<void,Controllable*> Controllable::StopLearning;
+sigc::signal<void,Controllable*,int,int> Controllable::CreateBinding;
+sigc::signal<void,Controllable*> Controllable::DeleteBinding;
Glib::Mutex* Controllable::registry_lock = 0;
Controllable::Controllables Controllable::registry;
add ();
}
+Controllable::Controllable (const XMLNode& node)
+{
+ const XMLProperty* prop = node.property (X_("name"));
+
+ if (!prop) {
+ fatal << string_compose (_("programming error: %1"), "Controllable (XMLNode&) constructor called without name property")
+ << endmsg;
+ /*NOTREACHED*/
+ }
+
+ _name = prop->value ();
+
+ prop = node.property (X_("id"));
+
+ if (!prop) {
+ fatal << string_compose (_("programming error: %1"), "Controllable (XMLNode&) constructor called without id property")
+ << endmsg;
+ /*NOTREACHED*/
+ }
+
+ _id = prop->value();
+
+ add ();
+}
+
void
Controllable::add ()
{