From 30cb85c307b4c1273791721a782337742ade222c Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 4 Oct 2006 21:45:20 +0000 Subject: Moved generic utility stuff to new library "raul". git-svn-id: http://svn.drobilla.net/lad/ingen@156 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/client/Store.cpp | 114 +++++++++++++++++++++++----------------------- 1 file changed, 57 insertions(+), 57 deletions(-) (limited to 'src/libs/client/Store.cpp') diff --git a/src/libs/client/Store.cpp b/src/libs/client/Store.cpp index fb16697b..30942ae3 100644 --- a/src/libs/client/Store.cpp +++ b/src/libs/client/Store.cpp @@ -28,7 +28,7 @@ namespace Client { -Store::Store(CountedPtr engine, CountedPtr emitter) +Store::Store(SharedPtr engine, SharedPtr emitter) : _engine(engine) , _emitter(emitter) { @@ -57,12 +57,12 @@ Store::clear() void -Store::add_plugin_orphan(CountedPtr node) +Store::add_plugin_orphan(SharedPtr node) { cerr << "WARNING: Node " << node->path() << " received, but plugin " << node->plugin_uri() << " unknown." << endl; - map > >::iterator spawn + map > >::iterator spawn = _plugin_orphans.find(node->plugin_uri()); _engine->request_plugin(node->plugin_uri()); @@ -70,7 +70,7 @@ Store::add_plugin_orphan(CountedPtr node) if (spawn != _plugin_orphans.end()) { spawn->second.push_back(node); } else { - list > l; + list > l; l.push_back(node); _plugin_orphans[node->plugin_uri()] = l; } @@ -78,18 +78,18 @@ Store::add_plugin_orphan(CountedPtr node) void -Store::resolve_plugin_orphans(CountedPtr plugin) +Store::resolve_plugin_orphans(SharedPtr plugin) { - map > >::iterator n + map > >::iterator n = _plugin_orphans.find(plugin->uri()); if (n != _plugin_orphans.end()) { - list > spawn = n->second; // take a copy + list > spawn = n->second; // take a copy _plugin_orphans.erase(plugin->uri()); // prevent infinite recursion - for (list >::iterator i = spawn.begin(); + for (list >::iterator i = spawn.begin(); i != spawn.end(); ++i) { add_object(*i); } @@ -98,7 +98,7 @@ Store::resolve_plugin_orphans(CountedPtr plugin) void -Store::add_connection_orphan(CountedPtr connection) +Store::add_connection_orphan(SharedPtr connection) { cerr << "WARNING: Orphan connection " << connection->src_port_path() << " -> " << connection->dst_port_path() << " received." << endl; @@ -108,11 +108,11 @@ Store::add_connection_orphan(CountedPtr connection) void -Store::resolve_connection_orphans(CountedPtr port) +Store::resolve_connection_orphans(SharedPtr port) { assert(port->parent()); - for (list >::iterator c = _connection_orphans.begin(); + for (list >::iterator c = _connection_orphans.begin(); c != _connection_orphans.end(); ) { if ((*c)->src_port_path() == port->path()) @@ -121,11 +121,11 @@ Store::resolve_connection_orphans(CountedPtr port) if ((*c)->dst_port_path() == port->path()) (*c)->set_dst_port(port); - list >::iterator next = c; + list >::iterator next = c; ++next; if ((*c)->src_port() && (*c)->dst_port()) { - CountedPtr patch = PtrCast(this->object((*c)->patch_path())); + SharedPtr patch = PtrCast(this->object((*c)->patch_path())); if (patch) { cerr << "Resolved orphan connection " << (*c)->src_port_path() << (*c)->dst_port_path() << endl; @@ -140,11 +140,11 @@ Store::resolve_connection_orphans(CountedPtr port) void -Store::add_orphan(CountedPtr child) +Store::add_orphan(SharedPtr child) { cerr << "WARNING: Orphan object " << child->path() << " received." << endl; - map > >::iterator children + map > >::iterator children = _orphans.find(child->path().parent()); _engine->request_object(child->path().parent()); @@ -152,7 +152,7 @@ Store::add_orphan(CountedPtr child) if (children != _orphans.end()) { children->second.push_back(child); } else { - list > l; + list > l; l.push_back(child); _orphans[child->path().parent()] = l; } @@ -178,7 +178,7 @@ Store::add_metadata_orphan(const Path& subject_path, const string& predicate, co void -Store::resolve_metadata_orphans(CountedPtr subject) +Store::resolve_metadata_orphans(SharedPtr subject) { map > >::iterator v = _metadata_orphans.find(subject->path()); @@ -198,18 +198,18 @@ Store::resolve_metadata_orphans(CountedPtr subject) void -Store::resolve_orphans(CountedPtr parent) +Store::resolve_orphans(SharedPtr parent) { - map > >::iterator c + map > >::iterator c = _orphans.find(parent->path()); if (c != _orphans.end()) { - list > children = c->second; // take a copy + list > children = c->second; // take a copy _orphans.erase(parent->path()); // prevent infinite recursion - for (list >::iterator i = children.begin(); + for (list >::iterator i = children.begin(); i != children.end(); ++i) { add_object(*i); } @@ -218,7 +218,7 @@ Store::resolve_orphans(CountedPtr parent) void -Store::add_object(CountedPtr object) +Store::add_object(SharedPtr object) { // If we already have "this" object, merge the existing one into the new // one (with precedence to the new values). @@ -228,7 +228,7 @@ Store::add_object(CountedPtr object) } else { if (object->path() != "/") { - CountedPtr parent = this->object(object->path().parent()); + SharedPtr parent = this->object(object->path().parent()); if (parent) { assert(object->path().is_child_of(parent->path())); object->set_parent(parent); @@ -241,7 +241,7 @@ Store::add_object(CountedPtr object) resolve_metadata_orphans(parent); resolve_orphans(parent); - CountedPtr port = PtrCast(object); + SharedPtr port = PtrCast(object); if (port) resolve_connection_orphans(port); @@ -259,14 +259,14 @@ Store::add_object(CountedPtr object) } -CountedPtr +SharedPtr Store::remove_object(const Path& path) { - map >::iterator i = _objects.find(path); + map >::iterator i = _objects.find(path); if (i != _objects.end()) { assert((*i).second->path() == path); - CountedPtr result = (*i).second; + SharedPtr result = (*i).second; _objects.erase(i); //cout << "[Store] Removed " << path << endl; @@ -276,7 +276,7 @@ Store::remove_object(const Path& path) if (result->path() != "/") { assert(result->parent()); - CountedPtr parent = this->object(result->path().parent()); + SharedPtr parent = this->object(result->path().parent()); if (parent) { parent->remove_child(result); } @@ -288,30 +288,30 @@ Store::remove_object(const Path& path) } else { cerr << "[Store] Unable to find object " << path << " to remove." << endl; - return CountedPtr(); + return SharedPtr(); } } -CountedPtr +SharedPtr Store::plugin(const string& uri) { assert(uri.length() > 0); - map >::iterator i = _plugins.find(uri); + map >::iterator i = _plugins.find(uri); if (i == _plugins.end()) - return CountedPtr(); + return SharedPtr(); else return (*i).second; } -CountedPtr +SharedPtr Store::object(const Path& path) { assert(path.length() > 0); - map >::iterator i = _objects.find(path); + map >::iterator i = _objects.find(path); if (i == _objects.end()) { - return CountedPtr(); + return SharedPtr(); } else { assert(i->second->path() == "/" || i->second->parent()); return i->second; @@ -319,7 +319,7 @@ Store::object(const Path& path) } void -Store::add_plugin(CountedPtr pm) +Store::add_plugin(SharedPtr pm) { // FIXME: dupes? merge, like with objects? @@ -334,7 +334,7 @@ Store::add_plugin(CountedPtr pm) void Store::destruction_event(const Path& path) { - CountedPtr removed = remove_object(path); + SharedPtr removed = remove_object(path); removed.reset(); @@ -345,7 +345,7 @@ Store::destruction_event(const Path& path) void Store::new_plugin_event(const string& uri, const string& name) { - CountedPtr p(new PluginModel(uri, name)); + SharedPtr p(new PluginModel(uri, name)); add_plugin(p); resolve_plugin_orphans(p); } @@ -354,7 +354,7 @@ Store::new_plugin_event(const string& uri, const string& name) void Store::new_patch_event(const Path& path, uint32_t poly) { - CountedPtr p(new PatchModel(path, poly)); + SharedPtr p(new PatchModel(path, poly)); add_object(p); } @@ -364,12 +364,12 @@ Store::new_node_event(const string& plugin_uri, const Path& node_path, bool is_p { // FIXME: num_ports unused - CountedPtr plug = plugin(plugin_uri); + SharedPtr plug = plugin(plugin_uri); if (!plug) { - CountedPtr n(new NodeModel(plugin_uri, node_path, is_polyphonic)); + SharedPtr n(new NodeModel(plugin_uri, node_path, is_polyphonic)); add_plugin_orphan(n); } else { - CountedPtr n(new NodeModel(plug, node_path, is_polyphonic)); + SharedPtr n(new NodeModel(plug, node_path, is_polyphonic)); add_object(n); } } @@ -388,7 +388,7 @@ Store::new_port_event(const Path& path, const string& type, bool is_output) PortModel::Direction pdir = is_output ? PortModel::OUTPUT : PortModel::INPUT; - CountedPtr p(new PortModel(path, ptype, pdir)); + SharedPtr p(new PortModel(path, ptype, pdir)); add_object(p); if (p->parent()) resolve_connection_orphans(p); @@ -398,7 +398,7 @@ Store::new_port_event(const Path& path, const string& type, bool is_output) void Store::patch_enabled_event(const Path& path) { - CountedPtr patch = PtrCast(object(path)); + SharedPtr patch = PtrCast(object(path)); if (patch) patch->enable(); } @@ -407,7 +407,7 @@ Store::patch_enabled_event(const Path& path) void Store::patch_disabled_event(const Path& path) { - CountedPtr patch = PtrCast(object(path)); + SharedPtr patch = PtrCast(object(path)); if (patch) patch->disable(); } @@ -416,7 +416,7 @@ Store::patch_disabled_event(const Path& path) void Store::patch_cleared_event(const Path& path) { - CountedPtr patch = PtrCast(object(path)); + SharedPtr patch = PtrCast(object(path)); if (patch) { NodeModelMap children = patch->nodes(); // take a copy for (NodeModelMap::iterator i = children.begin(); i != children.end(); ++i) { @@ -429,7 +429,7 @@ Store::patch_cleared_event(const Path& path) void Store::metadata_update_event(const Path& subject_path, const string& predicate, const Atom& value) { - CountedPtr subject = object(subject_path); + SharedPtr subject = object(subject_path); if (subject) { subject->set_metadata(predicate, value); @@ -443,7 +443,7 @@ Store::metadata_update_event(const Path& subject_path, const string& predicate, void Store::control_change_event(const Path& port_path, float value) { - CountedPtr port = PtrCast(object(port_path)); + SharedPtr port = PtrCast(object(port_path)); if (port) port->value(value); else @@ -454,20 +454,20 @@ Store::control_change_event(const Path& port_path, float value) void Store::connection_event(const Path& src_port_path, const Path& dst_port_path) { - CountedPtr src_port = PtrCast(object(src_port_path)); - CountedPtr dst_port = PtrCast(object(dst_port_path)); + SharedPtr src_port = PtrCast(object(src_port_path)); + SharedPtr dst_port = PtrCast(object(dst_port_path)); - CountedPtr dangling_cm(new ConnectionModel(src_port_path, dst_port_path)); + SharedPtr dangling_cm(new ConnectionModel(src_port_path, dst_port_path)); if (src_port && dst_port) { assert(src_port->parent()); assert(dst_port->parent()); - CountedPtr patch = PtrCast(this->object(dangling_cm->patch_path())); + SharedPtr patch = PtrCast(this->object(dangling_cm->patch_path())); assert(patch); - CountedPtr cm(new ConnectionModel(src_port, dst_port)); + SharedPtr cm(new ConnectionModel(src_port, dst_port)); src_port->connected_to(dst_port); dst_port->connected_to(src_port); @@ -488,8 +488,8 @@ Store::disconnection_event(const Path& src_port_path, const Path& dst_port_path) // Find the ports and create a ConnectionModel just to get at the parent path // finding logic in ConnectionModel. So I'm lazy. - CountedPtr src_port = PtrCast(object(src_port_path)); - CountedPtr dst_port = PtrCast(object(dst_port_path)); + SharedPtr src_port = PtrCast(object(src_port_path)); + SharedPtr dst_port = PtrCast(object(dst_port_path)); assert(src_port); assert(dst_port); @@ -497,9 +497,9 @@ Store::disconnection_event(const Path& src_port_path, const Path& dst_port_path) src_port->disconnected_from(dst_port); dst_port->disconnected_from(src_port); - CountedPtr cm(new ConnectionModel(src_port, dst_port)); + SharedPtr cm(new ConnectionModel(src_port, dst_port)); - CountedPtr patch = PtrCast(this->object(cm->patch_path())); + SharedPtr patch = PtrCast(this->object(cm->patch_path())); if (patch) patch->remove_connection(src_port_path, dst_port_path); -- cgit v1.2.1