cec: show the build date for firmwares that have this command
[deb_libcec.git] / include / cectypes.h
index 296e267fb7a410f9c01d54febfadbc7dd455997a..d43121bea3a7542a0180bf2d934585e31b7140a2 100644 (file)
@@ -602,7 +602,7 @@ typedef enum cec_adapter_messagecode
   MSGCODE_TRANSMIT_FAILED_TIMEOUT_LINE,
   MSGCODE_FIRMWARE_VERSION,
   MSGCODE_START_BOOTLOADER,
-  MSGCODE_SET_POWERSTATE,
+  MSGCODE_GET_BUILDDATE,
   MSGCODE_SET_CONTROLLED,
   MSGCODE_GET_AUTO_ENABLED,
   MSGCODE_SET_AUTO_ENABLED,
@@ -759,6 +759,11 @@ typedef struct cec_command
   int32_t             transmit_timeout; /**< the timeout to use in ms */
 
 #ifdef __cplusplus
+  cec_command(void)
+  {
+    Clear();
+  }
+
   cec_command &operator =(const struct cec_command &command)
   {
     initiator        = command.initiator;
@@ -1017,7 +1022,8 @@ typedef struct cec_logical_addresses
 
 typedef enum libcec_alert
 {
-  CEC_ALERT_SERVICE_DEVICE
+  CEC_ALERT_SERVICE_DEVICE,
+  CEC_ALERT_CONNECTION_LOST
 } libcec_alert;
 
 typedef enum libcec_parameter_type
@@ -1038,7 +1044,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* CBCecMenuStatusChangedType)(void *param, const cec_menu_state newVal);
+typedef int (CEC_CDECL* CBCecMenuStateChangedType)(void *param, const cec_menu_state);
 
 typedef struct ICECCallbacks
 {
@@ -1079,14 +1085,15 @@ typedef struct ICECCallbacks
   CBCecAlertType CBCecAlert;
 
   /*!
-   * @brief Transfer a menu status change to the client.
-   * Transfer a menu status change to the client. If the command returns 1, then the change will be processed by
+   * @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 pr
+   * @return 1 when libCEC should use this new value, 0 otherwise.
    */
-  CBCecMenuStatusChangedType CBMenuStatusChanged;
+  CBCecMenuStateChangedType CBCecMenuStateChanged;
 
 #ifdef __cplusplus
    ICECCallbacks(void) { Clear(); }
@@ -1099,7 +1106,7 @@ typedef struct ICECCallbacks
     CBCecCommand              = NULL;
     CBCecConfigurationChanged = NULL;
     CBCecAlert                = NULL;
-    CBMenuStatusChanged       = NULL;
+    CBCecMenuStateChanged     = NULL;
   }
 #endif
 } ICECCallbacks;
@@ -1124,7 +1131,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