X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fimplementations%2FPHCommandHandler.h;h=5e300479b9fbf8ba4dd54654dcd71171dd1d527c;hb=3befc9811e59359c014c33c1276f869d5b59ac09;hp=85338b46d695422b60c714fcf8b48ccb530b3859;hpb=ecc633c51b6c69bebaff4932e90245665ca06373;p=deb_libcec.git diff --git a/src/lib/implementations/PHCommandHandler.h b/src/lib/implementations/PHCommandHandler.h index 85338b4..5e30047 100644 --- a/src/lib/implementations/PHCommandHandler.h +++ b/src/lib/implementations/PHCommandHandler.h @@ -2,7 +2,7 @@ /* * This file is part of the libCEC(R) library. * - * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved. + * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved. * libCEC(R) is an original work, containing original code. * * libCEC(R) is a trademark of Pulse-Eight Limited. @@ -32,22 +32,46 @@ */ #include "CECCommandHandler.h" +#include "lib/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 bool TransmitVendorID(const cec_logical_address iInitiator, const cec_logical_address iDestination, uint64_t iVendorId, bool bIsReply); + virtual int HandleDeviceVendorId(const cec_command& command); + uint8_t m_iLastKeyCode; + CImageViewOnCheck* m_imageViewOnCheck; }; };