X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fadapter%2FUSBCECAdapterCommunication.h;h=f4fab4b4771dd6c16469727288c7c5c0543a03df;hb=d749efb2d01817c0a8ad8b32a1b9861c5a78c83d;hp=8cada4dbe0fd1259b13bf68cf6044f7a97958c61;hpb=b057edadea84636e4e48fff043631b4bf98a9a34;p=deb_libcec.git diff --git a/src/lib/adapter/USBCECAdapterCommunication.h b/src/lib/adapter/USBCECAdapterCommunication.h index 8cada4d..f4fab4b 100644 --- a/src/lib/adapter/USBCECAdapterCommunication.h +++ b/src/lib/adapter/USBCECAdapterCommunication.h @@ -52,7 +52,7 @@ namespace CEC CUSBCECAdapterCommunication(CCECProcessor *processor, const char *strPort, uint16_t iBaudRate = 38400); virtual ~CUSBCECAdapterCommunication(); - virtual bool Open(uint32_t iTimeoutMs = 10000); + virtual bool Open(IAdapterCommunicationCallback *cb, uint32_t iTimeoutMs = 10000); virtual void Close(void); virtual bool IsOpen(void); virtual CStdString GetError(void) const; @@ -69,13 +69,14 @@ namespace CEC void *Process(void); private: + bool CheckAdapter(uint32_t iTimeoutMs = 10000); bool Write(CCECAdapterMessage *data); bool Read(CCECAdapterMessage &msg, uint32_t iTimeout = 1000); bool ParseMessage(const CCECAdapterMessage &msg); void SendMessageToAdapter(CCECAdapterMessage *msg); void WriteNextCommand(void); void AddData(uint8_t *data, size_t iLen); - bool ReadFromDevice(uint32_t iTimeout); + bool ReadFromDevice(uint32_t iTimeout, size_t iSize = 256); bool WaitForAck(CCECAdapterMessage &message); PLATFORM::ISocket * m_port; @@ -91,5 +92,6 @@ namespace CEC CCECAdapterMessage m_currentAdapterMessage; bool m_bNextIsEscaped; bool m_bGotStart; + IAdapterCommunicationCallback * m_callback; }; };