fix for LG models that send a vendor key up after a normal key down. issue #71
[deb_libcec.git] / src / lib / implementations / SLCommandHandler.h
index a59a2f2e6ca2c15388ace32afd976b1783b067ce..ec2a4ae5ee8da337baab00a77fce9fe17c151cdf 100644 (file)
  */
 
 #include "CECCommandHandler.h"
-#include "../platform/util/timeutils.h"
 
 namespace CEC
 {
   class CSLCommandHandler : public CCECCommandHandler
   {
   public:
-    CSLCommandHandler(CCECBusDevice *busDevice);
+    CSLCommandHandler(CCECBusDevice *busDevice,
+                      int32_t iTransmitTimeout = CEC_DEFAULT_TRANSMIT_TIMEOUT,
+                      int32_t iTransmitWait = CEC_DEFAULT_TRANSMIT_WAIT,
+                      int8_t iTransmitRetries = CEC_DEFAULT_TRANSMIT_RETRIES,
+                      int64_t iActiveSourcePending = 0);
     virtual ~CSLCommandHandler(void) {};
 
     bool InitHandler(void);
@@ -63,14 +66,17 @@ namespace CEC
     int HandleRequestActiveSource(const cec_command &command);
     int HandleFeatureAbort(const cec_command &command);
     int HandleStandby(const cec_command &command);
-    bool TransmitMenuState(const cec_logical_address UNUSED(iInitiator), const cec_logical_address UNUSED(iDestination), cec_menu_state UNUSED(menuState)) { return true; }
+    bool TransmitMenuState(const cec_logical_address UNUSED(iInitiator), const cec_logical_address UNUSED(iDestination), cec_menu_state UNUSED(menuState), bool UNUSED(bIsReply)) { return true; }
     bool PowerOn(const cec_logical_address iInitiator, const cec_logical_address iDestination);
+    int HandleVendorRemoteButtonUp(const cec_command& command) { return HandleUserControlRelease(command); }
 
     void ResetSLState(void);
     bool SLInitialised(void);
     void SetSLInitialised(void);
     bool ActiveSourceSent(void);
 
+    void VendorPreActivateSourceHook(void);
+
     bool               m_bSLEnabled;
     bool               m_bActiveSourceSent;
     PLATFORM::CTimeout m_resetPowerState;