diff options
author | David Robillard <d@drobilla.net> | 2007-10-08 16:30:57 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-10-08 16:30:57 +0000 |
commit | 763bba9de67fb1bd06658a0bac91440727ee5a51 (patch) | |
tree | 39e7af069828981c2c06d78e015686062eba73dc /src/common | |
parent | 260a406b12997fdab7446a9980e921d8cfc46915 (diff) | |
download | ingen-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.hpp | 11 | ||||
-rw-r--r-- | src/common/interface/Makefile.am | 1 |
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 |