summaryrefslogtreecommitdiffstats
path: root/src/common
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/common
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/common')
-rw-r--r--src/common/interface/GraphObject.hpp11
-rw-r--r--src/common/interface/Makefile.am1
2 files changed, 11 insertions, 1 deletions
diff --git a/src/common/interface/GraphObject.hpp b/src/common/interface/GraphObject.hpp
index 7ea566f6..838ba481 100644
--- a/src/common/interface/GraphObject.hpp
+++ b/src/common/interface/GraphObject.hpp
@@ -21,8 +21,11 @@
#include <string>
#include <map>
#include <raul/Deletable.hpp>
-#include <raul/Path.hpp>
+#include <raul/PathTable.hpp>
#include <raul/Atom.hpp>
+#include <raul/SharedPtr.hpp>
+
+using Raul::PathTable;
namespace Ingen {
namespace Shared {
@@ -39,10 +42,16 @@ class GraphObject : public Raul::Deletable
public:
typedef std::map<std::string, Raul::Atom> MetadataMap;
+ typedef PathTable< SharedPtr<GraphObject> >::const_iterator const_iterator;
+
virtual const Raul::Path path() const = 0;
virtual const std::string name() const = 0;
virtual const MetadataMap& metadata() const = 0;
virtual bool polyphonic() const = 0;
+
+ virtual const_iterator children_begin() const = 0;
+ virtual const_iterator children_end() const = 0;
+ virtual SharedPtr<GraphObject> find_child(const string& name) const = 0;
};
diff --git a/src/common/interface/Makefile.am b/src/common/interface/Makefile.am
index 7fc68563..ad15c212 100644
--- a/src/common/interface/Makefile.am
+++ b/src/common/interface/Makefile.am
@@ -4,6 +4,7 @@ EXTRA_DIST = \
DataType.hpp \
EngineInterface.hpp \
Node.hpp \
+ Patch.hpp \
Plugin.hpp \
Port.hpp \
README