X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=include%2Fcec.h;h=98adaf9309b7bc9119122b9eaf2419230deeb95a;hb=6c3c8d5aee5542ba00a73ff4db9709e8d5324024;hp=9aa944b04fd45e53001a0bc69b35b0229d5f2415;hpb=ed21be2a64e3fe66dddffbd822c32f38e3b9192f;p=deb_libcec.git diff --git a/include/cec.h b/include/cec.h index 9aa944b..98adaf9 100644 --- a/include/cec.h +++ b/include/cec.h @@ -137,6 +137,20 @@ namespace CEC */ virtual bool SetPhysicalAddress(uint16_t iPhysicalAddress = CEC_DEFAULT_PHYSICAL_ADDRESS) = 0; + /*! + * @brief Enable physical address detection (if the connected adapter supports this). + * @return True when physical address detection was enabled, false otherwise. + */ + virtual bool EnablePhysicalAddressDetection(void) = 0; + + /*! + * @brief Changes the active HDMI port. + * @param iBaseDevice The device to which this libcec is connected. + * @param iPort The new port number. + * @return True when changed, false otherwise. + */ + virtual bool SetHDMIPort(cec_logical_address iBaseDevice, uint8_t iPort) = 0; + /*! * @brief Power on the connected CEC capable devices. * @param address The logical address to power on. @@ -237,6 +251,13 @@ namespace CEC */ virtual cec_power_status GetDevicePowerStatus(cec_logical_address iAddress) = 0; + /*! + * @brief Get the physical address of the device with the given logical address. + * @param iLogicalAddress The device to get the vendor id for. + * @return The physical address or 0 if it wasn't found. + */ + virtual uint16_t GetDevicePhysicalAddress(cec_logical_address iAddress) = 0; + /*! * @brief Sends a POLL message to a device. * @param iAddress The device to send the message to. @@ -263,13 +284,6 @@ namespace CEC */ virtual bool IsActiveDeviceType(cec_device_type type) = 0; - /*! - * @brief Changes the active HDMI port. - * @param iPort The new port number. - * @return True when changed, false otherwise. - */ - virtual bool SetHDMIPort(uint8_t iPort) = 0; - /*! * @brief Sends a volume up keypress to an audiosystem if it's present. * @param bWait Wait for the response of the audiosystem when true. @@ -314,6 +328,31 @@ namespace CEC * @return The OSD name. */ virtual cec_osd_name GetOSDName(cec_logical_address iAddress) = 0; + + /*! + * @brief Get the logical address of the device that is currently the active source on the CEC bus. + * @return The active source or CECDEVICE_UNKNOWN when unknown. + */ + virtual cec_logical_address GetActiveSource(void) = 0; + + /*! + * @brief Check whether a device is currently the active source on the CEC bus. + * @param iAddress The address to check. + * @return True when it is the active source, false otherwise. + */ + virtual bool IsActiveSource(cec_logical_address iAddress) = 0; + + virtual const char *ToString(const cec_menu_state state) = 0; + virtual const char *ToString(const cec_version version) = 0; + virtual const char *ToString(const cec_power_status status) = 0; + virtual const char *ToString(const cec_logical_address address) = 0; + virtual const char *ToString(const cec_deck_control_mode mode) = 0; + virtual const char *ToString(const cec_deck_info status) = 0; + virtual const char *ToString(const cec_opcode opcode) = 0; + virtual const char *ToString(const cec_system_audio_status mode) = 0; + virtual const char *ToString(const cec_audio_status status) = 0; + virtual const char *ToString(const cec_vendor_id vendor) = 0; + }; };