summaryrefslogtreecommitdiffstats
path: root/src/libs/client/Store.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-09-08 23:15:42 +0000
committerDavid Robillard <d@drobilla.net>2006-09-08 23:15:42 +0000
commitb853b3dde1f7028dd275f78433a6ad9b5b9f61c7 (patch)
tree0a3fa37cedd2ba49158e11168974387d1e0c3a37 /src/libs/client/Store.h
parent9028938008fa22ca2fe0c4ac7677471ac499b63f (diff)
downloadingen-b853b3dde1f7028dd275f78433a6ad9b5b9f61c7.tar.gz
ingen-b853b3dde1f7028dd275f78433a6ad9b5b9f61c7.tar.bz2
ingen-b853b3dde1f7028dd275f78433a6ad9b5b9f61c7.zip
More cleanups
git-svn-id: http://svn.drobilla.net/lad/ingen@122 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/client/Store.h')
-rw-r--r--src/libs/client/Store.h12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/libs/client/Store.h b/src/libs/client/Store.h
index cb6c3206..8407c9fb 100644
--- a/src/libs/client/Store.h
+++ b/src/libs/client/Store.h
@@ -35,12 +35,14 @@ class PatchModel;
class NodeModel;
class PortModel;
-/** Singeton which holds all "Ingen Objects" for easy/fast lookup
+/** Automatically manages models of objects in the engine.
*
* \ingroup IngenClient
*/
class Store : public sigc::trackable { // FIXME: is trackable necessary?
public:
+ Store(CountedPtr<SigClientInterface> emitter);
+
CountedPtr<PluginModel> plugin(const string& uri);
CountedPtr<ObjectModel> object(const string& path);
/*CountedPtr<PatchModel> patch(const string& path);
@@ -53,15 +55,7 @@ public:
const map<string, CountedPtr<PluginModel> >& plugins() const { return m_plugins; }
- static void instantiate(SigClientInterface& emitter)
- { if (!_instance) _instance = new Store(emitter); }
-
- inline static Store& instance() { assert(_instance); return *_instance; }
-
private:
- Store(SigClientInterface& emitter);
-
- static Store* _instance;
void add_object(CountedPtr<ObjectModel> object);
CountedPtr<ObjectModel> remove_object(const string& path);