From 6bb7a6d9818210511c231b6ac09c051bcd3c564b Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 13 May 2011 03:02:06 +0000 Subject: Make ClientStore::plugin and ClientStore::resource const-correct. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3260 a436a847-0d15-0410-975c-d299462d15a1 --- src/client/ClientStore.cpp | 26 +++++++++++++++++++------- src/client/ClientStore.hpp | 7 ++++--- 2 files changed, 23 insertions(+), 10 deletions(-) (limited to 'src/client') diff --git a/src/client/ClientStore.cpp b/src/client/ClientStore.cpp index 24d7728f..492529a0 100644 --- a/src/client/ClientStore.cpp +++ b/src/client/ClientStore.cpp @@ -153,7 +153,7 @@ ClientStore::remove_object(const Path& path) } SharedPtr -ClientStore::plugin(const URI& uri) +ClientStore::_plugin(const URI& uri) { assert(uri.length() > 0); Plugins::iterator i = _plugins->find(uri); @@ -163,6 +163,12 @@ ClientStore::plugin(const URI& uri) return (*i).second; } +SharedPtr +ClientStore::plugin(const Raul::URI& uri) const +{ + return const_cast(this)->_plugin(uri); +} + SharedPtr ClientStore::_object(const Path& path) { @@ -185,18 +191,24 @@ ClientStore::object(const Path& path) const } SharedPtr -ClientStore::resource(const URI& uri) +ClientStore::_resource(const URI& uri) { if (Path::is_path(uri)) return _object(uri.str()); else - return plugin(uri); + return _plugin(uri); +} + +SharedPtr +ClientStore::resource(const Raul::URI& uri) const +{ + return const_cast(this)->_resource(uri); } void ClientStore::add_plugin(SharedPtr pm) { - SharedPtr existing = this->plugin(pm->uri()); + SharedPtr existing = _plugin(pm->uri()); if (existing) { existing->set(pm); } else { @@ -315,7 +327,7 @@ ClientStore::put(const URI& uri, const Iterator p = properties.find(_uris->rdf_instanceOf); SharedPtr plug; if (p->second.is_valid() && p->second.type() == Atom::URI) { - if (!(plug = plugin(p->second.get_uri()))) { + if (!(plug = _plugin(p->second.get_uri()))) { LOG(warn) << "Unable to find plugin " << p->second.get_uri() << endl; plug = SharedPtr( new PluginModel(uris(), @@ -389,11 +401,11 @@ ClientStore::delta(const URI& uri, void ClientStore::set_property(const URI& subject_uri, const URI& predicate, const Atom& value) { - SharedPtr subject = resource(subject_uri); + SharedPtr subject = _resource(subject_uri); if (subject) { subject->set_property(predicate, value); } else { - SharedPtr plugin = this->plugin(subject_uri); + SharedPtr plugin = _plugin(subject_uri); if (plugin) plugin->set_property(predicate, value); else diff --git a/src/client/ClientStore.hpp b/src/client/ClientStore.hpp index 32b66484..a01a9dc6 100644 --- a/src/client/ClientStore.hpp +++ b/src/client/ClientStore.hpp @@ -61,10 +61,9 @@ public: SharedPtr engine=SharedPtr(), SharedPtr emitter=SharedPtr()); - SharedPtr plugin(const Raul::URI& uri); - SharedPtr resource(const Raul::URI& uri); - SharedPtr object(const Raul::Path& path) const; + SharedPtr plugin(const Raul::URI& uri) const; + SharedPtr resource(const Raul::URI& uri) const; void clear(); @@ -111,6 +110,8 @@ private: void add(GraphObject* o) { throw; } SharedPtr _object(const Raul::Path& path); + SharedPtr _plugin(const Raul::URI& uri); + SharedPtr _resource(const Raul::URI& uri); void add_object(SharedPtr object); SharedPtr remove_object(const Raul::Path& path); -- cgit v1.2.1