cec: added SendKeypress()/cec_send_keypress() and SendKeyRelease()/cec_send_key_release()
[deb_libcec.git] / include / cec.h
index 5edbe1819fd2b777f8133e9f75a3423d1a740cba..70c17ce5693411d1092bd964521f628836eae89c 100644 (file)
@@ -269,6 +269,44 @@ namespace CEC
      * @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;
   };
 };