X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FAdapterCommunication.h;h=71688301351c89d84428d63b31d319d90fc76706;hb=5a1e87c8d9a1d8a6b8dbf8b7d1738395fdb6b856;hp=9aab611632a54bdda7a403aad54480f660d961af;hpb=ad24cbafd0d19690668323cc8368e7d8f925a667;p=deb_libcec.git diff --git a/src/lib/AdapterCommunication.h b/src/lib/AdapterCommunication.h index 9aab611..7168830 100644 --- a/src/lib/AdapterCommunication.h +++ b/src/lib/AdapterCommunication.h @@ -35,10 +35,12 @@ #include "platform/threads.h" #include "util/buffer.h" #include +#include +#include namespace CEC { - class CCECAdapterMessage + class CCECAdapterMessage : public boost::enable_shared_from_this { public: CCECAdapterMessage(void) {} @@ -61,6 +63,7 @@ namespace CEC cec_datapacket packet; }; + typedef boost::shared_ptr CCECAdapterMessagePtr; class CSerialPort; class CLibCEC; @@ -73,7 +76,7 @@ namespace CEC bool Open(const char *strPort, uint16_t iBaudRate = 38400, uint32_t iTimeoutMs = 10000); bool Read(CCECAdapterMessage &msg, uint32_t iTimeout = 1000); - bool Write(const CCECAdapterMessage &frame); + bool Write(CCECAdapterMessagePtr data); bool PingAdapter(void); void Close(void); bool IsOpen(void) const; @@ -89,11 +92,11 @@ namespace CEC void AddData(uint8_t *data, uint8_t iLen); bool ReadFromDevice(uint32_t iTimeout); - CSerialPort * m_port; - CLibCEC * m_controller; - CecBuffer m_inBuffer; - CecBuffer m_outBuffer; - CMutex m_bufferMutex; - CCondition m_rcvCondition; + CSerialPort * m_port; + CLibCEC * m_controller; + CecBuffer m_inBuffer; + CecBuffer m_outBuffer; + CMutex m_bufferMutex; + CCondition m_rcvCondition; }; };