-
- if (!ctl->uri().empty()) {
- ControllablesByURI::iterator i = registry_by_uri.find (ctl->uri());
- if (i != registry_by_uri.end()) {
- registry_by_uri.erase (i);
- }
- }
-}
-
-void
-Controllable::set_uri (const string& new_uri)
-{
- Glib::RWLock::WriterLock lm (registry_lock);
-
- if (!_uri.empty()) {
- ControllablesByURI::iterator i = registry_by_uri.find (_uri);
- if (i != registry_by_uri.end()) {
- registry_by_uri.erase (i);
- }
- }
-
- _uri = new_uri;
-
- if (!_uri.empty()) {
- pair<string,Controllable*> newpair;
- newpair.first = _uri;
- newpair.second = this;
- registry_by_uri.insert (newpair);
- }