diff options
author | David Robillard <d@drobilla.net> | 2006-09-08 23:15:42 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-09-08 23:15:42 +0000 |
commit | b853b3dde1f7028dd275f78433a6ad9b5b9f61c7 (patch) | |
tree | 0a3fa37cedd2ba49158e11168974387d1e0c3a37 /src/libs/client/Store.h | |
parent | 9028938008fa22ca2fe0c4ac7677471ac499b63f (diff) | |
download | ingen-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.h | 12 |
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); |