bump to v2.0.5
[deb_libcec.git] / src / LibCecSharp / CecSharpTypes.h
index adef54d314768e550e0084e5970018d7a79d9582..a75a76217a511f852ef68f856ca4e8a707df5b8b 100644 (file)
 
 #using <System.dll>
 
+/// <summary>
+/// LibCecSharp namespace
+/// </summary>
+/// <see cref="LibCecSharp" />
 namespace CecSharp
 {
   /// <summary>
@@ -425,7 +429,7 @@ namespace CecSharp
 
   /// <summary>
   /// User control code, the key code when the user presses or releases a button on the remote.
-  /// Used by SendKeypress() and the CecKeyPress() callback.
+  /// Used by SendKeypress() and the CecKey callback.
   /// </summary>
   public enum class CecUserControlCode
   {
@@ -913,6 +917,7 @@ namespace CecSharp
     GivePhysicalAddress           = 0x83,
     /// <summary>
     /// Request language code of the menu language of a device
+    /// 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/
     /// </summary>
     GetMenuLanguage               = 0x91,
     /// <summary>
@@ -921,6 +926,7 @@ namespace CecSharp
     ReportPhysicalAddress         = 0x84,
     /// <summary>
     /// Report the language code of the menu language
+    /// 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/
     /// </summary>
     SetMenuLanguage               = 0x32,
     /// <summary>
@@ -1149,7 +1155,35 @@ namespace CecSharp
     /// <summary>
     /// v1.9.0
     /// </summary>
-    Version1_9_0  = 0x1900
+    Version1_9_0  = 0x1900,
+    /// <summary>
+    /// v2.0.0-pre
+    /// </summary>
+    Version1_99_0  = 0x1990,
+    /// <summary>
+    /// v2.0.0
+    /// </summary>
+    Version2_0_0   = 0x2000,
+    /// <summary>
+    /// v2.0.1
+    /// </summary>
+    Version2_0_1   = 0x2001,
+    /// <summary>
+    /// v2.0.2
+    /// </summary>
+    Version2_0_2   = 0x2002,
+    /// <summary>
+    /// v2.0.3
+    /// </summary>
+    Version2_0_3   = 0x2003,
+    /// <summary>
+    /// v2.0.4
+    /// </summary>
+    Version2_0_4   = 0x2004,
+    /// <summary>
+    /// v2.0.5
+    /// </summary>
+    Version2_0_5   = 0x2005
   };
 
   /// <summary>
@@ -1220,7 +1254,35 @@ namespace CecSharp
     /// <summary>
     /// v1.9.0
     /// </summary>
-    Version1_9_0  = 0x1900
+    Version1_9_0  = 0x1900,
+    /// <summary>
+    /// v2.0.0-pre
+    /// </summary>
+    Version1_99_0  = 0x1990,
+    /// <summary>
+    /// v2.0.0
+    /// </summary>
+    Version2_0_0   = 0x2000,
+    /// <summary>
+    /// v2.0.1
+    /// </summary>
+    Version2_0_1   = 0x2001,
+    /// <summary>
+    /// v2.0.2
+    /// </summary>
+    Version2_0_2   = 0x2002,
+    /// <summary>
+    /// v2.0.3
+    /// </summary>
+    Version2_0_3   = 0x2003,
+    /// <summary>
+    /// v2.0.4
+    /// </summary>
+    Version2_0_4   = 0x2004,
+    /// <summary>
+    /// v2.0.5
+    /// </summary>
+    Version2_0_5   = 0x2005
   };
 
   /// <summary>
@@ -1729,22 +1791,22 @@ namespace CecSharp
     property CecDeviceTypeList ^  DeviceTypes;
 
     /// <summary>
-    /// True to try to autodetect the physical address, false otherwise
+    /// (read only) set to true by libCEC when the physical address was autodetected
     /// </summary>
     property bool                 AutodetectAddress;
 
     /// <summary>
-    /// The physical address that libCEC uses on the CEC bus
+    /// The physical address of the CEC adapter
     /// </summary>
     property uint16_t             PhysicalAddress;
 
     /// <summary>
-    /// The logical address of the device to which the CEC adapter is connected, only used when PhysicalAddress isn't set
+    /// The logical address of the device to which the adapter is connected. Only used when PhysicalAddress = 0 or when the adapter doesn't support autodetection
     /// </summary>
     property CecLogicalAddress    BaseDevice;
 
     /// <summary>
-    /// The hdmi port number on the device to which the CEC adapter is connected, only used when PhysicalAddress isn't set
+    /// The HDMI port to which the adapter is connected. Only used when iPhysicalAddress = 0 or when the adapter doesn't support autodetection
     /// </summary>
     property uint8_t              HDMIPort;
 
@@ -1759,7 +1821,7 @@ namespace CecSharp
     property CecServerVersion     ServerVersion;
 
     /// <summary>
-    /// Override the vendor ID of the TV when set (for quirks mode)
+    /// Override the vendor ID of the TV. Leave this untouched to autodetect
     /// </summary>
     property CecVendorId          TvVendor;
 
@@ -1770,6 +1832,7 @@ namespace CecSharp
 
     /// <summary>
     /// Use the language setting of the TV in the client application. Must be implemented by the client application.
+    /// 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/
     /// </summary>
     property bool                 UseTVMenuLanguage;
 
@@ -1779,12 +1842,12 @@ namespace CecSharp
     property bool                 ActivateSource;
 
     /// <summary>
-    /// List of devices to send a power on command to when starting the client application
+    /// List of devices to wake when initialising libCEC or when calling PowerOnDevices() without any parameter.
     /// </summary>
     property CecLogicalAddresses ^WakeDevices;
 
     /// <summary>
-    /// List of devices to send a standby command to when exiting the client application
+    /// List of devices to power off when calling StandbyDevices() without any parameter.
     /// </summary>
     property CecLogicalAddresses ^PowerOffDevices;
 
@@ -1817,6 +1880,10 @@ namespace CecSharp
     /// Send standby commands when the client application activates standby mode (S3). Must be implemented by the client application.
     /// </summary>
     property bool                 PowerOffDevicesOnStandby;
+
+    /// <summary>
+    /// Shutdown this PC when the TV is switched off. only used when PowerOffOnStandby = false
+    /// </summary>
     property bool                 ShutdownOnStandby;
 
     /// <summary>
@@ -1826,6 +1893,7 @@ namespace CecSharp
 
     /// <summary>
     /// The language code of the menu language that libCEC reports to other devices.
+    /// 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/
     /// </summary>
     property System::String ^     DeviceLanguage;
 
@@ -1906,7 +1974,7 @@ namespace CecSharp
   /// <param name="cbParam">Pointer to the callback struct</param>
   /// <param name="message">The log message</param>
   /// <return>1 when handled, 0 otherwise</return>
-  int CecLogMessageCB(void *cbParam, const CEC::cec_log_message &message)
+  int CecLogMessageCB(void *cbParam, const CEC::cec_log_message message)
   {
     if (cbParam)
     {
@@ -1924,7 +1992,7 @@ namespace CecSharp
   /// <param name="cbParam">Pointer to the callback struct</param>
   /// <param name="key">The key press command that libCEC received</param>
   /// <return>1 when handled, 0 otherwise</return>
-  int CecKeyPressCB(void *cbParam, const CEC::cec_keypress &key)
+  int CecKeyPressCB(void *cbParam, const CEC::cec_keypress key)
   {
     if (cbParam)
     {
@@ -1942,7 +2010,7 @@ namespace CecSharp
   /// <param name="cbParam">Pointer to the callback struct</param>
   /// <param name="command">The raw CEC data</param>
   /// <return>1 when handled, 0 otherwise</return>
-  int CecCommandCB(void *cbParam, const CEC::cec_command &command)
+  int CecCommandCB(void *cbParam, const CEC::cec_command command)
   {
     if (cbParam)
     {
@@ -1960,7 +2028,7 @@ namespace CecSharp
   /// <param name="cbParam">Pointer to the callback struct</param>
   /// <param name="config">The new configuration</param>
   /// <return>1 when handled, 0 otherwise</return>
-  int CecConfigCB(void *cbParam, const CEC::libcec_configuration &config)
+  int CecConfigCB(void *cbParam, const CEC::libcec_configuration config)
   {
     if (cbParam)
     {
@@ -1978,7 +2046,7 @@ namespace CecSharp
   /// <param name="cbParam">Pointer to the callback struct</param>
   /// <param name="data">The alert message</param>
   /// <return>1 when handled, 0 otherwise</return>
-  int CecAlertCB(void *cbParam, const CEC::libcec_alert alert, const CEC::libcec_parameter &data)
+  int CecAlertCB(void *cbParam, const CEC::libcec_alert alert, const CEC::libcec_parameter data)
   {
     if (cbParam)
     {
@@ -2026,14 +2094,34 @@ namespace CecSharp
   }
 
 #pragma managed
-  // delegates for the unmanaged callback methods
+  /// <summary>
+  /// Delegate method for the CecLogMessageCB callback in CecCallbackMethods
+  /// </summary>
   public delegate int  CecLogMessageManagedDelegate(const CEC::cec_log_message &);
+  /// <summary>
+  /// Delegate method for the CecKeyPressCB callback in CecCallbackMethods
+  /// </summary>
   public delegate int  CecKeyPressManagedDelegate(const CEC::cec_keypress &);
+  /// <summary>
+  /// Delegate method for the CecCommandCB callback in CecCallbackMethods
+  /// </summary>
   public delegate int  CecCommandManagedDelegate(const CEC::cec_command &);
+  /// <summary>
+  /// Delegate method for the CecConfigCB callback in CecCallbackMethods
+  /// </summary>
   public delegate int  CecConfigManagedDelegate(const CEC::libcec_configuration &);
+  /// <summary>
+  /// Delegate method for the CecAlertCB callback in CecCallbackMethods
+  /// </summary>
   public delegate int  CecAlertManagedDelegate(const CEC::libcec_alert, const CEC::libcec_parameter &);
-  public delegate int  CecMenuManagedDelegate(const CEC::cec_menu_state newVal);
-  public delegate void CecSourceActivatedManagedDelegate(const CEC::cec_logical_address logicalAddress, const uint8_t bActivated);
+  /// <summary>
+  /// Delegate method for the CecMenuCB callback in CecCallbackMethods
+  /// </summary>
+  public delegate int  CecMenuManagedDelegate(const CEC::cec_menu_state);
+  /// <summary>
+  /// Delegate method for the CecSourceActivatedCB callback in CecCallbackMethods
+  /// </summary>
+  public delegate void CecSourceActivatedManagedDelegate(const CEC::cec_logical_address, const uint8_t);
 
   /// <summary>
   /// Assign the callback methods in the g_cecCallbacks struct