cec: removed 'retries' from cec_command, to avoid stack smashing when upgrading the...
[deb_libcec.git] / src / lib / implementations / CECCommandHandler.h
index 15ab55278deebb70f2ada61392ae42bf7c29e1af..e5d19ed102097c1a1e7901dd644365ffc60a675c 100644 (file)
@@ -53,6 +53,7 @@ namespace CEC
     virtual bool HandleReceiveFailed(void);
 
     virtual bool InitHandler(void) { return true; }
+    virtual uint8_t GetTransmitRetries(void) const { return m_iTransmitRetries; }
 
     virtual bool TransmitPowerOn(const cec_logical_address iInitiator, const cec_logical_address iDestination);
     virtual bool TransmitStandby(const cec_logical_address iInitiator, const cec_logical_address iDestination);
@@ -121,11 +122,14 @@ namespace CEC
     virtual bool SetVendorId(const cec_command &command);
     virtual void SetPhysicalAddress(cec_logical_address iAddress, uint16_t iNewAddress);
 
-    virtual bool Transmit(cec_command &command);
+    virtual bool Transmit(cec_command &command, bool bExpectResponse = true);
 
     CCECBusDevice *m_busDevice;
     CCECProcessor *m_processor;
     int32_t        m_iTransmitTimeout;
+    int32_t        m_iTransmitWait;
+    int8_t         m_iTransmitRetries;
+    CMutex         m_receiveMutex;
     CCondition     m_condition;
   };
 };