X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fimplementations%2FCECCommandHandler.h;h=5da9823a0694949429c81305a82f4bba0716ceb3;hb=8bc5358b7ca3f810728fef3108962bd435a0585a;hp=15ab55278deebb70f2ada61392ae42bf7c29e1af;hpb=7f9191154db80ab386da77ef6706961d9fbc8b97;p=deb_libcec.git diff --git a/src/lib/implementations/CECCommandHandler.h b/src/lib/implementations/CECCommandHandler.h index 15ab552..5da9823 100644 --- a/src/lib/implementations/CECCommandHandler.h +++ b/src/lib/implementations/CECCommandHandler.h @@ -52,7 +52,8 @@ namespace CEC virtual void HandlePoll(const cec_logical_address iInitiator, const cec_logical_address iDestination); virtual bool HandleReceiveFailed(void); - virtual bool InitHandler(void) { return true; } + virtual bool InitHandler(void); + 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); @@ -76,8 +77,8 @@ namespace CEC virtual bool TransmitSetSystemAudioMode(const cec_logical_address iInitiator, const cec_logical_address iDestination, cec_system_audio_status state); virtual bool TransmitSystemAudioModeStatus(const cec_logical_address iInitiator, const cec_logical_address iDestination, cec_system_audio_status state); virtual bool TransmitDeckStatus(const cec_logical_address iInitiator, const cec_logical_address iDestination, cec_deck_info state); - virtual bool TransmitKeypress(const cec_logical_address iInitiator, const cec_logical_address iDestination, cec_user_control_code key); - virtual bool TransmitKeyRelease(const cec_logical_address iInitiator, const cec_logical_address iDestination); + virtual bool TransmitKeypress(const cec_logical_address iInitiator, const cec_logical_address iDestination, cec_user_control_code key, bool bWait = true); + virtual bool TransmitKeyRelease(const cec_logical_address iInitiator, const cec_logical_address iDestination, bool bWait = true); protected: virtual bool HandleActiveSource(const cec_command &command); @@ -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; }; };