+ virtual bool GetDeviceMenuLanguage(cec_logical_address iAddress, cec_menu_language *language);
+ virtual uint64_t GetDeviceVendorId(cec_logical_address iAddress);
+ virtual uint16_t GetDevicePhysicalAddress(cec_logical_address iAddress);
+ virtual cec_power_status GetDevicePowerStatus(cec_logical_address iAddress);
+ virtual bool PollDevice(cec_logical_address iAddress);
+ virtual cec_logical_addresses GetActiveDevices(void);
+ virtual bool IsActiveDevice(cec_logical_address iAddress);
+ virtual bool IsActiveDeviceType(cec_device_type type);
+ virtual bool SetHDMIPort(cec_logical_address iBaseDevice, uint8_t iPort = CEC_DEFAULT_HDMI_PORT);
+ virtual uint8_t VolumeUp(bool bSendRelease = true);
+ virtual uint8_t VolumeDown(bool bSendRelease = true);
+ virtual uint8_t MuteAudio(bool bSendRelease = true);
+ virtual bool SendKeypress(cec_logical_address iDestination, cec_user_control_code key, bool bWait = true);
+ virtual bool SendKeyRelease(cec_logical_address iDestination, bool bWait = true);
+ virtual cec_osd_name GetDeviceOSDName(cec_logical_address iAddress);
+ virtual bool EnablePhysicalAddressDetection(void);
+ virtual cec_logical_address GetActiveSource(void);
+ virtual bool IsActiveSource(cec_logical_address iAddress);
+ virtual bool SetStreamPath(cec_logical_address iAddress);
+ virtual bool SetStreamPath(uint16_t iPhysicalAddress);
+ virtual cec_logical_addresses GetLogicalAddresses(void);
+ virtual bool GetCurrentConfiguration(libcec_configuration *configuration);
+ virtual bool SetConfiguration(const libcec_configuration *configuration);
+ virtual bool CanPersistConfiguration(void);
+ virtual bool PersistConfiguration(libcec_configuration *configuration);
+ virtual void RescanActiveDevices(void);
+ virtual bool IsLibCECActiveSource(void);
+
+ const char *ToString(const cec_menu_state state);
+ const char *ToString(const cec_version version);
+ const char *ToString(const cec_power_status status);
+ const char *ToString(const cec_logical_address address);
+ const char *ToString(const cec_deck_control_mode mode);
+ const char *ToString(const cec_deck_info status);
+ const char *ToString(const cec_opcode opcode);
+ const char *ToString(const cec_system_audio_status mode);
+ const char *ToString(const cec_audio_status status);
+ const char *ToString(const cec_vendor_id vendor);
+ const char *ToString(const cec_client_version version);
+ const char *ToString(const cec_server_version version);
+ const char *ToString(const cec_device_type type);
+
+ static cec_device_type GetType(cec_logical_address address);
+ static uint16_t GetMaskForType(cec_logical_address address);
+ static uint16_t GetMaskForType(cec_device_type type);
+
+ virtual bool GetDeviceInformation(const char *strPort, libcec_configuration *config, uint32_t iTimeoutMs = 10000);