diff options
author | David Robillard <d@drobilla.net> | 2008-08-16 03:23:15 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-08-16 03:23:15 +0000 |
commit | a8b36b5637acb3fa8eb29ef0f45bd11653f412fa (patch) | |
tree | 3a0f0dbef302269f8e509d9f5c2d4c713e00face /src/libs/engine/EngineStore.hpp | |
parent | 49e8582cb6720d43389e7d2534be11a4fb0b8959 (diff) | |
download | ingen-a8b36b5637acb3fa8eb29ef0f45bd11653f412fa.tar.gz ingen-a8b36b5637acb3fa8eb29ef0f45bd11653f412fa.tar.bz2 ingen-a8b36b5637acb3fa8eb29ef0f45bd11653f412fa.zip |
Factor out common store functionality.
Make store is-a Table and ditch store->objects() thing everywhere.
Use a separate store in the client (fix ingen -eg).
git-svn-id: http://svn.drobilla.net/lad/ingen@1397 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/EngineStore.hpp')
-rw-r--r-- | src/libs/engine/EngineStore.hpp | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/src/libs/engine/EngineStore.hpp b/src/libs/engine/EngineStore.hpp index e128dde8..ad656aeb 100644 --- a/src/libs/engine/EngineStore.hpp +++ b/src/libs/engine/EngineStore.hpp @@ -48,32 +48,18 @@ class GraphObjectImpl; class EngineStore : public Shared::Store { public: - typedef Raul::PathTable< SharedPtr<Shared::GraphObject> > Objects; - PatchImpl* find_patch(const Path& path); NodeImpl* find_node(const Path& path); PortImpl* find_port(const Path& path); GraphObjectImpl* find_object(const Path& path); - Objects::iterator find(const Path& path) { return _objects.find(path); } - - Objects::const_iterator children_begin(SharedPtr<Shared::GraphObject> o) const; - Objects::const_iterator children_end(SharedPtr<Shared::GraphObject> o) const; - void add(Shared::GraphObject* o); - void add(const Table<Path, SharedPtr<Shared::GraphObject> >& family); - //void add(TreeNode<GraphObjectImpl*>* o); - - SharedPtr< Table<Path, SharedPtr<Shared::GraphObject> > > remove(const Path& path); - SharedPtr< Table<Path, SharedPtr<Shared::GraphObject> > > remove(Objects::iterator i); - SharedPtr< Table<Path, SharedPtr<Shared::GraphObject> > > remove_children(const Path& path); - SharedPtr< Table<Path, SharedPtr<Shared::GraphObject> > > remove_children(Objects::iterator i); - - const Objects& objects() const { return _objects; } - Objects& objects() { return _objects; } - -private: - Objects _objects; + void add(const Objects& family); + + SharedPtr<Objects> remove(const Path& path); + SharedPtr<Objects> remove(Objects::iterator i); + SharedPtr<Objects> remove_children(const Path& path); + SharedPtr<Objects> remove_children(Objects::iterator i); }; |