+ virtual cec_menu_state GetMenuState(const cec_logical_address initiator);
+ virtual void SetMenuState(const cec_menu_state state);
+ virtual bool TransmitMenuState(const cec_logical_address destination, bool bIsReply);
+
+ virtual bool ActivateSource(uint64_t iDelay = 0);
+ virtual bool IsActiveSource(void) const { return m_bActiveSource; }
+ virtual bool RequestActiveSource(bool bWaitForResponse = true);
+ virtual void MarkAsActiveSource(void);
+ virtual void MarkAsInactiveSource(void);
+ virtual bool TransmitActiveSource(bool bIsReply);
+ virtual bool TransmitImageViewOn(void);
+ virtual bool TransmitInactiveSource(void);
+ virtual bool TransmitPendingActiveSourceCommands(void);
+ virtual void SetStreamPath(uint16_t iNewAddress, uint16_t iOldAddress = CEC_INVALID_PHYSICAL_ADDRESS);
+
+ virtual bool PowerOn(const cec_logical_address initiator);
+ virtual bool Standby(const cec_logical_address initiator);
+
+ virtual bool TryLogicalAddress(cec_version libCECSpecVersion = CEC_VERSION_1_4);
+
+ CCECClient * GetClient(void);
+ void SignalOpcode(cec_opcode opcode);
+ bool WaitForOpcode(cec_opcode opcode);
+
+ CCECAudioSystem * AsAudioSystem(void);
+ static CCECAudioSystem * AsAudioSystem(CCECBusDevice *device);
+ CCECPlaybackDevice * AsPlaybackDevice(void);
+ static CCECPlaybackDevice * AsPlaybackDevice(CCECBusDevice *device);
+ CCECRecordingDevice * AsRecordingDevice(void);
+ static CCECRecordingDevice * AsRecordingDevice(CCECBusDevice *device);
+ CCECTuner * AsTuner(void);
+ static CCECTuner * AsTuner(CCECBusDevice *device);
+ CCECTV * AsTV(void);
+ static CCECTV * AsTV(CCECBusDevice *device);