X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=include%2Fcec.h;h=44bf0244abdb8e6f5dbe29f59be811a28431223f;hb=802b7a0f90e3668f7c4eac90f8692bc9b39a4833;hp=5edbe1819fd2b777f8133e9f75a3423d1a740cba;hpb=16b1e052e4a14432ca3bd6007e0e977ff2bed6ae;p=deb_libcec.git diff --git a/include/cec.h b/include/cec.h index 5edbe18..44bf024 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. @@ -264,11 +278,61 @@ 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. + * @brief Sends a volume up keypress to an audiosystem if it's present. + * @param bWait Wait for the response of the audiosystem when true. + * @return The new audio status. + */ + virtual uint8_t VolumeUp(bool bWait = true) = 0; + + /*! + * @brief Sends a volume down keypress to an audiosystem if it's present. + * @param bWait Wait for the response of the audiosystem when true. + * @return The new audio status. */ - virtual bool SetHDMIPort(uint8_t iPort) = 0; + virtual uint8_t VolumeDown(bool bWait = true) = 0; + + /*! + * @brief Sends a mute keypress to an audiosystem if it's present. + * @param bWait Wait for the response of the audiosystem when true. + * @return The new audio status. + */ + virtual uint8_t MuteAudio(bool bWait = true) = 0; + + /*! + * @brief Send a keypress to a device on the CEC bus. + * @param iDestination The address to send the message to. + * @param key The key to send. + * @param bWait True to wait for a response, false otherwise. + * @return True when the keypress was acked, false otherwise. + */ + virtual bool SendKeypress(cec_logical_address iDestination, cec_user_control_code key, bool bWait = false) = 0; + + /*! + * @brief Send a key release to a device on the CEC bus. + * @param iDestination The address to send the message to. + * @param bWait True to wait for a response, false otherwise. + * @return True when the keypress was acked, false otherwise. + */ + virtual bool SendKeyRelease(cec_logical_address iDestination, bool bWait = false) = 0; + + /*! + * @brief Get the OSD name of a device on the CEC bus. + * @param iAddress The device to get the OSD name for. + * @return The OSD name. + */ + virtual cec_osd_name GetOSDName(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; + }; };