summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/control_protocol_manager.h
diff options
context:
space:
mode:
authorDoug McLain <doug@nostar.net>2008-06-02 05:02:28 +0000
committerDoug McLain <doug@nostar.net>2008-06-02 05:02:28 +0000
commit9c0d7d72d70082a54f823cd44c0ccda5da64bb6f (patch)
tree96ec400b83b8c1c06852b1936f684b5fbcd47a79 /libs/ardour/ardour/control_protocol_manager.h
parent2f3f697bb8e185eb43c2c50b4eefc2bcb937f269 (diff)
remove empty sigc++2 directory
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/control_protocol_manager.h')
-rw-r--r--libs/ardour/ardour/control_protocol_manager.h93
1 files changed, 0 insertions, 93 deletions
diff --git a/libs/ardour/ardour/control_protocol_manager.h b/libs/ardour/ardour/control_protocol_manager.h
deleted file mode 100644
index c61513e117..0000000000
--- a/libs/ardour/ardour/control_protocol_manager.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- Copyright (C) 2000-2007 Paul Davis
-
- This program 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.
-
- This program 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 more 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
-
-#ifndef ardour_control_protocol_manager_h
-#define ardour_control_protocol_manager_h
-
-#include <string>
-#include <list>
-
-#include <sigc++/sigc++.h>
-
-#include <glibmm/thread.h>
-
-#include <pbd/stateful.h>
-
-namespace ARDOUR {
-
-class ControlProtocol;
-class ControlProtocolDescriptor;
-class Session;
-
-struct ControlProtocolInfo {
- ControlProtocolDescriptor* descriptor;
- ControlProtocol* protocol;
- std::string name;
- std::string path;
- bool requested;
- bool mandatory;
- bool supports_feedback;
- XMLNode* state;
-
- ControlProtocolInfo() : descriptor (0), protocol (0), state (0) {}
- ~ControlProtocolInfo() { if (state) { delete state; } }
-};
-
- class ControlProtocolManager : public sigc::trackable, public PBD::Stateful
-{
- public:
- ControlProtocolManager ();
- ~ControlProtocolManager ();
-
- static ControlProtocolManager& instance() { return *_instance; }
-
- void set_session (Session&);
- void discover_control_protocols ();
- void foreach_known_protocol (sigc::slot<void,const ControlProtocolInfo*>);
- void load_mandatory_protocols ();
-
- ControlProtocol* instantiate (ControlProtocolInfo&);
- int teardown (ControlProtocolInfo&);
-
- std::list<ControlProtocolInfo*> control_protocol_info;
-
- static const std::string state_node_name;
-
- void set_protocol_states (const XMLNode&);
-
- int set_state (const XMLNode&);
- XMLNode& get_state (void);
-
- private:
- static ControlProtocolManager* _instance;
-
- Session* _session;
- Glib::Mutex protocols_lock;
- std::list<ControlProtocol*> control_protocols;
-
- void drop_session ();
-
- int control_protocol_discover (std::string path);
- ControlProtocolDescriptor* get_descriptor (std::string path);
- ControlProtocolInfo* cpi_by_name (std::string);
-};
-
-} // namespace
-
-#endif // ardour_control_protocol_manager_h