summaryrefslogtreecommitdiffstats
path: root/src/libs/client/Store.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-09-14 02:27:02 +0000
committerDavid Robillard <d@drobilla.net>2006-09-14 02:27:02 +0000
commitcc384f6f622cc10fd83616256080b80dc2123aaf (patch)
tree9a5f0d7f14e04ad7effcda8be6b5924b4d61e361 /src/libs/client/Store.h
parent5525b33b79b7a920cf374704e67fc6b16fe5f77c (diff)
downloadingen-cc384f6f622cc10fd83616256080b80dc2123aaf.tar.gz
ingen-cc384f6f622cc10fd83616256080b80dc2123aaf.tar.bz2
ingen-cc384f6f622cc10fd83616256080b80dc2123aaf.zip
Cleaned up client-side model code significantly (made everything private
so only Store can change the state of models). Extremely broken, just committing to move code between machines :). git-svn-id: http://svn.drobilla.net/lad/ingen@133 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/client/Store.h')
-rw-r--r--src/libs/client/Store.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/libs/client/Store.h b/src/libs/client/Store.h
index 99466b1d..cd27e5d6 100644
--- a/src/libs/client/Store.h
+++ b/src/libs/client/Store.h
@@ -36,6 +36,8 @@ class PluginModel;
class PatchModel;
class NodeModel;
class PortModel;
+class ConnectionModel;
+
/** Automatically manages models of objects in the engine.
*
@@ -62,9 +64,14 @@ private:
void add_plugin(CountedPtr<PluginModel> plugin);
+ // It would be nice to integrate these somehow..
+
void add_orphan(CountedPtr<ObjectModel> orphan);
void resolve_orphans(CountedPtr<ObjectModel> parent);
+ void add_connection_orphan(CountedPtr<ConnectionModel> orphan);
+ void resolve_connection_orphans(CountedPtr<PortModel> port);
+
void add_plugin_orphan(CountedPtr<NodeModel> orphan);
void resolve_plugin_orphans(CountedPtr<PluginModel> plugin);
@@ -81,7 +88,9 @@ private:
void connection_event(const Path& src_port_path, const Path& dst_port_path);
void disconnection_event(const Path& src_port_path, const Path& dst_port_path);
- map<Path, CountedPtr<ObjectModel> > m_objects; ///< Keyed by Ingen path
+ typedef map<Path, CountedPtr<ObjectModel> > ObjectMap;
+ ObjectMap m_objects; ///< Keyed by Ingen path
+
map<string, CountedPtr<PluginModel> > m_plugins; ///< Keyed by URI
/** Objects we've received, but depend on the existance of another unknown object.