summaryrefslogtreecommitdiff
path: root/libs/surfaces/control_protocol/control_protocol/control_protocol.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/surfaces/control_protocol/control_protocol/control_protocol.h')
-rw-r--r--libs/surfaces/control_protocol/control_protocol/control_protocol.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/surfaces/control_protocol/control_protocol/control_protocol.h b/libs/surfaces/control_protocol/control_protocol/control_protocol.h
index 8be652b9df..a689d49431 100644
--- a/libs/surfaces/control_protocol/control_protocol/control_protocol.h
+++ b/libs/surfaces/control_protocol/control_protocol/control_protocol.h
@@ -45,6 +45,9 @@ class ControlProtocol : public sigc::trackable, public Stateful, public BasicUI
virtual int set_active (bool yn) = 0;
bool get_active() const { return _active; }
+ virtual int set_feedback (bool yn) { return 0; }
+ virtual bool get_feedback () const { return false; }
+
sigc::signal<void> ActiveChanged;
/* signals that a control protocol can emit and other (presumably graphical)
@@ -110,6 +113,7 @@ extern "C" {
void* ptr; /* protocol can store a value here */
void* module; /* not for public access */
int mandatory; /* if non-zero, always load and do not make optional */
+ bool supports_feedback; /* if true, protocol has toggleable feedback mechanism */
bool (*probe)(ControlProtocolDescriptor*);
ControlProtocol* (*initialize)(ControlProtocolDescriptor*,Session*);
void (*destroy)(ControlProtocolDescriptor*,ControlProtocol*);