- bool WaitForTransmitSucceeded(uint8_t iLength, uint32_t iTimeout = 1000);
- bool ParseMessage(const CCECAdapterMessage &msg);
- void ParseCommand(cec_command &command);
-
- bool m_bStarted;
- cec_command m_currentframe;
- cec_logical_addresses m_logicalAddresses;
- std::string m_strDeviceName;
- cec_device_type_list m_types;
- CMutex m_mutex;
- CCondition m_startCondition;
- CAdapterCommunication* m_communication;
- CLibCEC* m_controller;
- bool m_bMonitor;
- CecBuffer<cec_command> m_commandBuffer;
+ void ParseCommand(const cec_command &command);
+
+ bool m_bConnectionOpened;
+ bool m_bInitialised;
+ cec_logical_addresses m_logicalAddresses;
+ PLATFORM::CMutex m_mutex;
+ IAdapterCommunication * m_communication;
+ CLibCEC* m_controller;
+ bool m_bMonitor;
+ cec_keypress m_previousKey;
+ PLATFORM::CThread * m_busScan;
+ uint8_t m_iLineTimeout;
+ uint8_t m_iStandardLineTimeout;
+ uint8_t m_iRetryLineTimeout;
+ uint64_t m_iLastTransmission;
+ libcec_configuration m_configuration;
+ };
+
+ class CCECBusScan : public PLATFORM::CThread
+ {
+ public:
+ CCECBusScan(CCECProcessor *processor) { m_processor = processor; }
+ virtual ~CCECBusScan(void) { StopThread(true); }
+ virtual void *Process(void);
+
+ private:
+ void WaitUntilIdle(void);
+
+ CCECProcessor *m_processor;