cec: fixed - ensure that the vendor commands are always sent for panasonic, and that...
[deb_libcec.git] / src / lib / implementations / SLCommandHandler.h
index a59a2f2e6ca2c15388ace32afd976b1783b067ce..2cbef7b4b17f93faae0022e4592a61466da25a12 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,7 +66,7 @@ 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);
 
     void ResetSLState(void);
@@ -71,6 +74,8 @@ namespace CEC
     void SetSLInitialised(void);
     bool ActiveSourceSent(void);
 
+    void VendorPreActivateSourceHook(void);
+
     bool               m_bSLEnabled;
     bool               m_bActiveSourceSent;
     PLATFORM::CTimeout m_resetPowerState;