X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Fcec.h;h=70c17ce5693411d1092bd964521f628836eae89c;hb=95a73fa78b4524636db470491c1e3434b81df4c0;hp=8212f17c877accd56ab44b5c7fe516989b32483d;hpb=53024cc16b378806ad9107b711c7f50637dfbfa5;p=deb_libcec.git diff --git a/include/cec.h b/include/cec.h index 8212f17..70c17ce 100644 --- a/include/cec.h +++ b/include/cec.h @@ -163,12 +163,35 @@ namespace CEC */ virtual bool SetActiveView(void) = 0; + /*! + * @brief Change the deck control mode, if this adapter is registered as playback device. + * @param mode The new control mode. + * @param bSendUpdate True to send the status over the CEC line. + * @return True if set, false otherwise. + */ + virtual bool SetDeckControlMode(cec_deck_control_mode mode, bool bSendUpdate = true) = 0; + + /*! + * @brief Change the deck info, if this adapter is a playback device. + * @param info The new deck info. + * @return True if set, false otherwise. + */ + virtual bool SetDeckInfo(cec_deck_info info, bool bSendUpdate = true) = 0; + /*! * @brief Broadcast a message that notifies connected CEC capable devices that this device is no longer the active source. * @return True when the command was sent succesfully, false otherwise. */ virtual bool SetInactiveView(void) = 0; + /*! + * @brief Change the menu state. + * @param state The new true. + * @param bSendUpdate True to send the status over the CEC line. + * @return True if set, false otherwise. + */ + virtual bool SetMenuState(cec_menu_state state, bool bSendUpdate = true) = 0; + /*! * @brief Display a message on the device with the given logical address. * @param iLogicalAddres The device to display the message on. @@ -220,6 +243,70 @@ namespace CEC * @return True if the POLL was acked, false otherwise. */ virtual bool PollDevice(cec_logical_address iAddress) = 0; + + /*! + * @return The devices that are active on the bus and not handled by libcec. + */ + virtual cec_logical_addresses GetActiveDevices(void) = 0; + + /*! + * @brief Check whether a device is active on the bus. + * @param iAddress The address to check. + * @return True when active, false otherwise. + */ + virtual bool IsActiveDevice(cec_logical_address iAddress) = 0; + + /*! + * @brief Check whether a device of the given type is active on the bus. + * @param type The type to check. + * @return True when active, false otherwise. + */ + 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. + * @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 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; }; };