X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fadapter%2FUSBCECAdapterCommunication.h;h=8cc701f094d353c017a3271f2d02358c91cc247f;hb=9ceaabcd6eabe161b36056153c5513ab95be29a8;hp=22c7db9738ee459bcd0b239f7f06165091c03eef;hpb=f9e01dac894ab26e63aaa38a8df5cba237195b76;p=deb_libcec.git diff --git a/src/lib/adapter/USBCECAdapterCommunication.h b/src/lib/adapter/USBCECAdapterCommunication.h index 22c7db9..8cc701f 100644 --- a/src/lib/adapter/USBCECAdapterCommunication.h +++ b/src/lib/adapter/USBCECAdapterCommunication.h @@ -46,6 +46,23 @@ namespace CEC { class CCECProcessor; + class CUSBCECAdapterProcessor: public PLATFORM::CThread + { + public: + CUSBCECAdapterProcessor(IAdapterCommunicationCallback *cb) : + m_callback(cb) {}; + virtual ~CUSBCECAdapterProcessor(void) + { + StopThread(); + } + + void *Process(void); + void AddCommand(cec_command command); + private: + IAdapterCommunicationCallback * m_callback; + PLATFORM::SyncedBuffer m_inBuffer; + }; + class CUSBCECAdapterCommunication : public IAdapterCommunication, private PLATFORM::CThread { public: @@ -89,7 +106,7 @@ namespace CEC PLATFORM::SyncedBuffer m_inBuffer; PLATFORM::SyncedBuffer m_outBuffer; PLATFORM::CMutex m_mutex; - PLATFORM::CCondition m_rcvCondition; + PLATFORM::CCondition m_rcvCondition; volatile bool m_bHasData; uint8_t m_iLineTimeout; uint16_t m_iFirmwareVersion; @@ -99,5 +116,6 @@ namespace CEC bool m_bNextIsEscaped; bool m_bGotStart; IAdapterCommunicationCallback * m_callback; + CUSBCECAdapterProcessor * m_messageProcessor; }; };