diff options
author | David Robillard <d@drobilla.net> | 2006-09-14 02:27:02 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-09-14 02:27:02 +0000 |
commit | cc384f6f622cc10fd83616256080b80dc2123aaf (patch) | |
tree | 9a5f0d7f14e04ad7effcda8be6b5924b4d61e361 /src/libs/client/ModelClientInterface.h | |
parent | 5525b33b79b7a920cf374704e67fc6b16fe5f77c (diff) | |
download | ingen-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/ModelClientInterface.h')
-rw-r--r-- | src/libs/client/ModelClientInterface.h | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/src/libs/client/ModelClientInterface.h b/src/libs/client/ModelClientInterface.h deleted file mode 100644 index 9b467fa6..00000000 --- a/src/libs/client/ModelClientInterface.h +++ /dev/null @@ -1,88 +0,0 @@ -/* This file is part of Ingen. Copyright (C) 2006 Dave Robillard. - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef MODELCLIENTINTERFACE_H -#define MODELCLIENTINTERFACE_H - -#include <string> -#include <memory> -using std::string; using std::auto_ptr; -#include "interface/ClientInterface.h" -#include "util/CountedPtr.h" - -namespace Ingen { -namespace Client { - -class PatchModel; -class NodeModel; -class ConnectionModel; -class PortModel; -class PluginModel; - - -/** A client interface that creates Model objects to represent the engine's state. - * - * This calls it's own methods with the models as parameters; clients can inherit - * this and implement a class with a similar interface to ClientInterface except - * with model classes passed where appropriate instead of primitives. - * - * \ingroup IngenClient - */ -class ModelClientInterface : virtual public Ingen::Shared::ClientInterface -{ -public: - ModelClientInterface(Ingen::Shared::ClientInterface& extend) - : Ingen::Shared::ClientInterface(extend) - {} - - virtual ~ModelClientInterface() {} - - virtual void new_plugin_model(CountedPtr<PluginModel> pi); - virtual void new_patch_model(CountedPtr<PatchModel> pm); - virtual void new_node_model(CountedPtr<NodeModel> nm); - virtual void new_port_model(CountedPtr<PortModel> port_info); - virtual void connection_model(CountedPtr<ConnectionModel> cm); - - // ClientInterface functions to drive the above: - - virtual void new_plugin(string type, - string uri, - string name); - - virtual void new_patch(string path, uint32_t poly); - - virtual void new_node(string plugin_type, - string plugin_uri, - string node_path, - bool is_polyphonic, - uint32_t num_ports); - - virtual void new_port(string path, - string data_type, - bool is_output); - - virtual void connection(string src_port_path, - string dst_port_path); - -protected: - ModelClientInterface() {} -}; - - -} // namespace Client -} // namespace Ingen - -#endif // MODELCLIENTINTERFACE_H |