diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-12-28 11:13:04 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-12-28 11:13:04 -0500 |
commit | e2f6c596390c50aa67a8c93f7ba714d2166f3437 (patch) | |
tree | eae5d1b06996a070819734bc4bb34282ef23aa37 /libs | |
parent | 0d9efc11484c901795ff4e9549a1a39715d0474d (diff) |
add required request buffer factory for Wiimote
Diffstat (limited to 'libs')
-rw-r--r-- | libs/surfaces/wiimote/interface.cc | 9 | ||||
-rw-r--r-- | libs/surfaces/wiimote/wiimote.cc | 12 | ||||
-rw-r--r-- | libs/surfaces/wiimote/wiimote.h | 2 |
3 files changed, 22 insertions, 1 deletions
diff --git a/libs/surfaces/wiimote/interface.cc b/libs/surfaces/wiimote/interface.cc index 9a704e445e..69983743e6 100644 --- a/libs/surfaces/wiimote/interface.cc +++ b/libs/surfaces/wiimote/interface.cc @@ -48,6 +48,12 @@ probe_wiimote_protocol (ControlProtocolDescriptor*) { return WiimoteControlProtocol::probe (); } +static void* +wiimote_request_buffer_factory (uint32_t num_requests) +{ + return WiimoteControlProtocol::request_factory (num_requests); +} + static ControlProtocolDescriptor wiimote_descriptor = { name : "Wiimote", @@ -58,7 +64,8 @@ static ControlProtocolDescriptor wiimote_descriptor = { supports_feedback : false, probe : probe_wiimote_protocol, initialize : new_wiimote_protocol, - destroy : delete_wiimote_protocol + destroy : delete_wiimote_protocol, + request_buffer_factory : wiimote_request_buffer_factory }; extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &wiimote_descriptor; } diff --git a/libs/surfaces/wiimote/wiimote.cc b/libs/surfaces/wiimote/wiimote.cc index db5fb55c2a..d86dbbc172 100644 --- a/libs/surfaces/wiimote/wiimote.cc +++ b/libs/surfaces/wiimote/wiimote.cc @@ -455,3 +455,15 @@ wiimote_control_protocol_mesg_callback (cwiid_wiimote_t *wiimote, int mesg_count DEBUG_TRACE (DEBUG::WiimoteControl, "WiimoteControlProtocol::mesg_callback done\n"); } + + +void* +WiimoteControlProtocol::request_factory (uint32_t num_requests) +{ + /* AbstractUI<T>::request_buffer_factory() is a template method only + instantiated in this source module. To provide something visible for + use in the interface/descriptor, we have this static method that is + template-free. + */ + return request_buffer_factory (num_requests); +} diff --git a/libs/surfaces/wiimote/wiimote.h b/libs/surfaces/wiimote/wiimote.h index 6edadf6c64..c1fbcfd03f 100644 --- a/libs/surfaces/wiimote/wiimote.h +++ b/libs/surfaces/wiimote/wiimote.h @@ -43,6 +43,8 @@ public: virtual ~WiimoteControlProtocol (); static bool probe (); + static void* request_factory (uint32_t); + int set_active (bool yn); XMLNode& get_state (); |