summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/ObjectStore.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-10-08 16:30:57 +0000
committerDavid Robillard <d@drobilla.net>2007-10-08 16:30:57 +0000
commit763bba9de67fb1bd06658a0bac91440727ee5a51 (patch)
tree39e7af069828981c2c06d78e015686062eba73dc /src/libs/engine/ObjectStore.hpp
parent260a406b12997fdab7446a9980e921d8cfc46915 (diff)
downloadingen-763bba9de67fb1bd06658a0bac91440727ee5a51.tar.gz
ingen-763bba9de67fb1bd06658a0bac91440727ee5a51.tar.bz2
ingen-763bba9de67fb1bd06658a0bac91440727ee5a51.zip
SharedPtr-ify engine side store.
Fix reattaching to engine. Fix connection paths. Remove last dependencies on client (model) library from Serialiser. Fix Raul::PathTable::find_descendants_end. git-svn-id: http://svn.drobilla.net/lad/ingen@847 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/ObjectStore.hpp')
-rw-r--r--src/libs/engine/ObjectStore.hpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/libs/engine/ObjectStore.hpp b/src/libs/engine/ObjectStore.hpp
index 66d182ba..cc83d85a 100644
--- a/src/libs/engine/ObjectStore.hpp
+++ b/src/libs/engine/ObjectStore.hpp
@@ -20,13 +20,16 @@
#include <string>
#include <raul/PathTable.hpp>
+#include <raul/SharedPtr.hpp>
using std::string;
using namespace Raul;
namespace Ingen {
-class Patch;
+namespace Shared { class GraphObject; }
+
+class PatchImpl;
class NodeImpl;
class PortImpl;
class GraphObjectImpl;
@@ -44,9 +47,9 @@ class GraphObjectImpl;
class ObjectStore
{
public:
- typedef Raul::PathTable<GraphObjectImpl*> Objects;
+ typedef Raul::PathTable< SharedPtr<Shared::GraphObject> > Objects;
- Patch* find_patch(const Path& path);
+ PatchImpl* find_patch(const Path& path);
NodeImpl* find_node(const Path& path);
PortImpl* find_port(const Path& path);
GraphObjectImpl* find_object(const Path& path);
@@ -54,11 +57,11 @@ public:
Objects::iterator find(const Path& path) { return _objects.find(path); }
void add(GraphObjectImpl* o);
- void add(const Table<Path,GraphObjectImpl*>& family);
+ void add(const Table<Path, SharedPtr<Shared::GraphObject> >& family);
//void add(TreeNode<GraphObjectImpl*>* o);
- Table<Path,GraphObjectImpl*> remove(const Path& path);
- Table<Path,GraphObjectImpl*> remove(Objects::iterator i);
+ Table<Path, SharedPtr<Shared::GraphObject> > remove(const Path& path);
+ Table<Path, SharedPtr<Shared::GraphObject> > remove(Objects::iterator i);
const Objects& objects() const { return _objects; }
Objects& objects() { return _objects; }