X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fimplementations%2FPHCommandHandler.h;h=a40d7b58179d2abc2e1b1bd09c79015981d57703;hb=ebcedb051be7d8e1e19ecd3f0aa164baae252400;hp=85338b46d695422b60c714fcf8b48ccb530b3859;hpb=e75e09bfc2b9799a6a57f9c4ca8cff4984e8fc99;p=deb_libcec.git diff --git a/src/lib/implementations/PHCommandHandler.h b/src/lib/implementations/PHCommandHandler.h index 85338b4..a40d7b5 100644 --- a/src/lib/implementations/PHCommandHandler.h +++ b/src/lib/implementations/PHCommandHandler.h @@ -32,22 +32,46 @@ */ #include "CECCommandHandler.h" +#include "platform/threads/threads.h" namespace CEC { + class CPHCommandHandler; + + class CImageViewOnCheck : public PLATFORM::CThread + { + public: + CImageViewOnCheck(CPHCommandHandler* handler): + m_handler(handler) {} + virtual ~CImageViewOnCheck(void); + + void* Process(void); + + private: + CPHCommandHandler* m_handler; + PLATFORM::CEvent m_event; + }; + class CPHCommandHandler : public CCECCommandHandler { + friend class CImageViewOnCheck; public: CPHCommandHandler(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 ~CPHCommandHandler(void) {}; + virtual ~CPHCommandHandler(void); + + bool InitHandler(void); protected: + virtual bool ActivateSource(bool bTransmitDelayedCommandsOnly = false); virtual int HandleUserControlPressed(const cec_command& command); virtual int HandleUserControlRelease(const cec_command& command); - uint8_t m_iLastKeyCode; + virtual int HandleGiveDeviceVendorId(const cec_command& command); + virtual int HandleDeviceVendorId(const cec_command& command); + uint8_t m_iLastKeyCode; + CImageViewOnCheck* m_imageViewOnCheck; }; };