X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fcontrol_protocol_manager.h;h=c6ea045ce10d090a6218ac549668552cc06fc4ed;hb=7c2302651559eda71833c291ddc17f4d590ad95a;hp=0c8c9014f0668122062ddd8f154dbf5c0b91fcab;hpb=8c9749e42faf7808034ed8b7afce4a2fe6dc6f33;p=ardour.git diff --git a/libs/ardour/ardour/control_protocol_manager.h b/libs/ardour/ardour/control_protocol_manager.h index 0c8c9014f0..c6ea045ce1 100644 --- a/libs/ardour/ardour/control_protocol_manager.h +++ b/libs/ardour/ardour/control_protocol_manager.h @@ -36,20 +36,21 @@ class ControlProtocolDescriptor; class Session; class LIBARDOUR_API ControlProtocolInfo { -public: - ControlProtocolDescriptor* descriptor; - ControlProtocol* protocol; - std::string name; - std::string path; - bool requested; - bool mandatory; - bool supports_feedback; - XMLNode* state; - - ControlProtocolInfo() : descriptor (0), protocol (0), requested(false), + public: + ControlProtocolDescriptor* descriptor; + ControlProtocol* protocol; + std::string name; + std::string path; + bool requested; + bool mandatory; + bool supports_feedback; + XMLNode* state; + + ControlProtocolInfo() : descriptor (0), protocol (0), requested(false), mandatory(false), supports_feedback(false), state (0) {} - ~ControlProtocolInfo() { delete state; } + ~ControlProtocolInfo(); + }; class LIBARDOUR_API ControlProtocolManager : public PBD::Stateful, public ARDOUR::SessionHandlePtr @@ -64,10 +65,12 @@ class LIBARDOUR_API ControlProtocolManager : public PBD::Stateful, public ARDOUR void foreach_known_protocol (boost::function); void load_mandatory_protocols (); void midi_connectivity_established (); + void drop_protocols (); + void register_request_buffer_factories (); - int activate (ControlProtocolInfo&); + int activate (ControlProtocolInfo&); int deactivate (ControlProtocolInfo&); - + std::list control_protocol_info; static const std::string state_node_name;