cec: added the new menu state changed callback to LibCecSharp. free the alert GC...
[deb_libcec.git] / include / cectypes.h
index d3e3bb1a8dc9d4479f4bd7fb593ae0ba36593630..ea2c73dc653935695f8968e7a61011656bbd5ddd 100644 (file)
@@ -1039,7 +1039,7 @@ typedef int (CEC_CDECL* CBCecKeyPressType)(void *param, const cec_keypress &);
 typedef int (CEC_CDECL* CBCecCommandType)(void *param, const cec_command &);
 typedef int (CEC_CDECL* CBCecConfigurationChangedType)(void *param, const libcec_configuration &);
 typedef int (CEC_CDECL* CBCecAlertType)(void *param, const libcec_alert, const libcec_parameter &);
-typedef int (CEC_CDECL* CBCecMenuStateChangedType)(void *param, const cec_menu_state newVal);
+typedef int (CEC_CDECL* CBCecMenuStateChangedType)(void *param, const cec_menu_state);
 
 typedef struct ICECCallbacks
 {
@@ -1083,9 +1083,10 @@ typedef struct ICECCallbacks
    * @brief Transfer a menu state change to the client.
    * Transfer a menu state change to the client. If the command returns 1, then the change will be processed by
    * the busdevice. If 0, then the state of the busdevice won't be changed, and will always be kept 'activated',
+   * @warning CEC does not allow the player to suppress the menu state change on the TV, so the menu on the TV will always be displayed, whatever the return value of this method is.
    * so keypresses are always routed.
    * @param newVal The new value.
-   * @return 1 when this change should be processed by the CCECBusDevice, false otherwise.
+   * @return 1 when libCEC should use this new value, 0 otherwise.
    */
   CBCecMenuStateChangedType CBCecMenuStateChanged;
 
@@ -1125,7 +1126,8 @@ typedef enum cec_server_version
   CEC_SERVER_VERSION_1_5_2   = 0x1502,
   CEC_SERVER_VERSION_1_5_3   = 0x1503,
   CEC_SERVER_VERSION_1_6_0   = 0x1600,
-  CEC_SERVER_VERSION_1_6_1   = 0x1601
+  CEC_SERVER_VERSION_1_6_1   = 0x1601,
+  CEC_SERVER_VERSION_1_6_2   = 0x1602
 } cec_server_version;
 
 typedef struct libcec_configuration