summaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-10-10 05:45:04 +0000
committerDavid Robillard <d@drobilla.net>2007-10-10 05:45:04 +0000
commitc7f3a28390e651e03a68b664086351788a6a2d73 (patch)
treee4e7037981a876c8e6c69414f6662b0682995212 /src/common
parent670bf40134c1aa7c1ff175ff8acd9dbed7b9ab41 (diff)
downloadingen-c7f3a28390e651e03a68b664086351788a6a2d73.tar.gz
ingen-c7f3a28390e651e03a68b664086351788a6a2d73.tar.bz2
ingen-c7f3a28390e651e03a68b664086351788a6a2d73.zip
Fix recursive patch problems (all objects recursively appearing as direct child of root).
Use slightly more human friendly names for blank nodes in patch files. Fix memory management semantics of engine side objects (fix crash on subpatch delete). Make Raul::Table a boost::noncopyable; related changes trickled down from that. git-svn-id: http://svn.drobilla.net/lad/ingen@865 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/common')
-rw-r--r--src/common/interface/GraphObject.hpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/common/interface/GraphObject.hpp b/src/common/interface/GraphObject.hpp
index 57241b20..bed058f0 100644
--- a/src/common/interface/GraphObject.hpp
+++ b/src/common/interface/GraphObject.hpp
@@ -24,6 +24,7 @@
#include <raul/PathTable.hpp>
#include <raul/Atom.hpp>
#include <raul/SharedPtr.hpp>
+#include <raul/WeakPtr.hpp>
using Raul::PathTable;
@@ -43,12 +44,15 @@ public:
typedef std::map<std::string, Raul::Atom> Variables;
typedef PathTable< SharedPtr<GraphObject> >::const_iterator const_iterator;
-
+
virtual const Raul::Path path() const = 0;
virtual const std::string name() const = 0;
virtual const Variables& variables() const = 0;
virtual bool polyphonic() const = 0;
+ // FIXME: return WeakPtr, and stupid name
+ virtual GraphObject* graph_parent() 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;