virtual bool PingAdapter(void);
virtual uint16_t GetFirmwareVersion(void);
virtual bool SetControlledMode(bool controlled);
+ virtual bool PersistConfiguration(libcec_configuration * UNUSED(configuration)) { return false; } // TODO
+ virtual CStdString GetPortName(void);
+ virtual uint16_t GetPhysicalAddress(void) { return 0; }
void *Process(void);
private:
+ bool SetAckMaskInternal(uint16_t iMask, bool bWriteDirectly = false);
+
bool CheckAdapter(uint32_t iTimeoutMs = 10000);
bool Write(CCECAdapterMessage *data);
bool Read(CCECAdapterMessage &msg, uint32_t iTimeout = 1000);
PLATFORM::SyncedBuffer<CCECAdapterMessage *> m_inBuffer;
PLATFORM::SyncedBuffer<CCECAdapterMessage *> m_outBuffer;
PLATFORM::CMutex m_mutex;
- PLATFORM::CCondition m_rcvCondition;
+ PLATFORM::CCondition<volatile bool &> m_rcvCondition;
+ volatile bool m_bHasData;
uint8_t m_iLineTimeout;
uint16_t m_iFirmwareVersion;
cec_command m_currentframe;