summaryrefslogtreecommitdiffstats
path: root/src/client/ClientStore.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-05-13 03:02:06 +0000
committerDavid Robillard <d@drobilla.net>2011-05-13 03:02:06 +0000
commit6bb7a6d9818210511c231b6ac09c051bcd3c564b (patch)
tree43d8d3749c4e079137c4aaaa4cec29f21c774d29 /src/client/ClientStore.cpp
parent198560d5fd499ab14eb4e130ee74e21fa86674a4 (diff)
downloadingen-6bb7a6d9818210511c231b6ac09c051bcd3c564b.tar.gz
ingen-6bb7a6d9818210511c231b6ac09c051bcd3c564b.tar.bz2
ingen-6bb7a6d9818210511c231b6ac09c051bcd3c564b.zip
Make ClientStore::plugin and ClientStore::resource const-correct.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3260 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/client/ClientStore.cpp')
-rw-r--r--src/client/ClientStore.cpp26
1 files changed, 19 insertions, 7 deletions
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<PluginModel>
-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<const PluginModel>
+ClientStore::plugin(const Raul::URI& uri) const
+{
+ return const_cast<ClientStore*>(this)->_plugin(uri);
+}
+
SharedPtr<ObjectModel>
ClientStore::_object(const Path& path)
{
@@ -185,18 +191,24 @@ ClientStore::object(const Path& path) const
}
SharedPtr<Resource>
-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<const Resource>
+ClientStore::resource(const Raul::URI& uri) const
+{
+ return const_cast<ClientStore*>(this)->_resource(uri);
}
void
ClientStore::add_plugin(SharedPtr<PluginModel> pm)
{
- SharedPtr<PluginModel> existing = this->plugin(pm->uri());
+ SharedPtr<PluginModel> 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<PluginModel> 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<PluginModel>(
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<Resource> subject = resource(subject_uri);
+ SharedPtr<Resource> subject = _resource(subject_uri);
if (subject) {
subject->set_property(predicate, value);
} else {
- SharedPtr<PluginModel> plugin = this->plugin(subject_uri);
+ SharedPtr<PluginModel> plugin = _plugin(subject_uri);
if (plugin)
plugin->set_property(predicate, value);
else