From a8b36b5637acb3fa8eb29ef0f45bd11653f412fa Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 16 Aug 2008 03:23:15 +0000 Subject: 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 --- src/libs/engine/EngineStore.hpp | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) (limited to 'src/libs/engine/EngineStore.hpp') 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 > 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 o) const; - Objects::const_iterator children_end(SharedPtr o) const; - void add(Shared::GraphObject* o); - void add(const Table >& family); - //void add(TreeNode* o); - - SharedPtr< Table > > remove(const Path& path); - SharedPtr< Table > > remove(Objects::iterator i); - SharedPtr< Table > > remove_children(const Path& path); - SharedPtr< Table > > remove_children(Objects::iterator i); - - const Objects& objects() const { return _objects; } - Objects& objects() { return _objects; } - -private: - Objects _objects; + void add(const Objects& family); + + SharedPtr remove(const Path& path); + SharedPtr remove(Objects::iterator i); + SharedPtr remove_children(const Path& path); + SharedPtr remove_children(Objects::iterator i); }; -- cgit v1.2.1