X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FLibCecSharp%2FCecSharpTypes.h;h=450400529046dc71f2c86dbfd65631dfaf168a11;hb=ac03cf2784851df9eb42106828a0d88b5fda7d12;hp=a0110ad93714e16891db9a76857287d7f9328ab0;hpb=1c7cd8f8c8085141c4267680a9bdab1d820056bb;p=deb_libcec.git diff --git a/src/LibCecSharp/CecSharpTypes.h b/src/LibCecSharp/CecSharpTypes.h index a0110ad..4504005 100644 --- a/src/LibCecSharp/CecSharpTypes.h +++ b/src/LibCecSharp/CecSharpTypes.h @@ -2,7 +2,7 @@ /* * This file is part of the libCEC(R) library. * -* libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved. +* libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved. * libCEC(R) is an original work, containing original code. * * libCEC(R) is a trademark of Pulse-Eight Limited. @@ -200,7 +200,27 @@ namespace CecSharp /// The device needs servicing. This is set when the firmware can be upgraded, or when a problem with the firmware is detected. /// The latest firmware flash tool can be downloaded from http://packages.pulse-eight.net/ /// - ServiceDevice = 1 + ServiceDevice = 0, + /// + /// The connection to the adapter was lost, probably because the device got unplugged. + /// + ConnectionLost, + /// + /// No permission from the OS to access the adapter. + /// + PermissionError, + /// + /// The device is being used by another program. + /// + PortBusy, + /// + /// The physical address that is assigned to the adapter is already being used. + /// + PhysicalAddressError, + /// + /// The TV does not respond to polls. + /// + TVPollFailed }; /// @@ -764,22 +784,29 @@ namespace CecSharp /// public enum class CecVendorId { + Toshiba = 0x000039, Samsung = 0x0000F0, - LG = 0x00E091, - Panasonic = 0x008045, - Pioneer = 0x00E036, + Denon = 0x0005CD, + Marantz = 0x000678, + Loewe = 0x000982, Onkyo = 0x0009B0, - Yamaha = 0x00A0DE, - Philips = 0x00903E, - Sony = 0x080046, - Toshiba = 0x000039, + Medion = 0x000CB8, + Toshiba2 = 0x000CE7, Akai = 0x0020C7, - Benq = 0x8065E9, + AOC = 0x002467, + Panasonic = 0x008045, + Philips = 0x00903E, Daewoo = 0x009053, + Yamaha = 0x00A0DE, Grundig = 0x00D0D5, - Medion = 0x000CB8, + Pioneer = 0x00E036, + LG = 0x00E091, Sharp = 0x08001F, + Sony = 0x080046, + Broadcom = 0x18C086, Vizio = 0x6B746D, + Benq = 0x8065E9, + HarmanKardon = 0x9C645E, Unknown = 0 }; @@ -917,6 +944,7 @@ namespace CecSharp GivePhysicalAddress = 0x83, /// /// 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/ /// GetMenuLanguage = 0x91, /// @@ -925,6 +953,7 @@ namespace CecSharp ReportPhysicalAddress = 0x84, /// /// Report the language code of the menu language + /// 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/ /// SetMenuLanguage = 0x32, /// @@ -1153,7 +1182,55 @@ namespace CecSharp /// /// v1.9.0 /// - Version1_9_0 = 0x1900 + Version1_9_0 = 0x1900, + /// + /// v2.0.0-pre + /// + Version1_99_0 = 0x1990, + /// + /// v2.0.0 + /// + Version2_0_0 = 0x2000, + /// + /// v2.0.1 + /// + Version2_0_1 = 0x2001, + /// + /// v2.0.2 + /// + Version2_0_2 = 0x2002, + /// + /// v2.0.3 + /// + Version2_0_3 = 0x2003, + /// + /// v2.0.4 + /// + Version2_0_4 = 0x2004, + /// + /// v2.0.5 + /// + Version2_0_5 = 0x2005, + /// + /// v2.1.0 + /// + Version2_1_0 = 0x2100, + /// + /// v2.1.1 + /// + Version2_1_1 = 0x2101, + /// + /// v2.1.2 + /// + Version2_1_2 = 0x2102, + /// + /// v2.1.3 + /// + Version2_1_3 = 0x2103, + /// + /// The current version + /// + CurrentVersion = 0x2103 }; /// @@ -1224,7 +1301,55 @@ namespace CecSharp /// /// v1.9.0 /// - Version1_9_0 = 0x1900 + Version1_9_0 = 0x1900, + /// + /// v2.0.0-pre + /// + Version1_99_0 = 0x1990, + /// + /// v2.0.0 + /// + Version2_0_0 = 0x2000, + /// + /// v2.0.1 + /// + Version2_0_1 = 0x2001, + /// + /// v2.0.2 + /// + Version2_0_2 = 0x2002, + /// + /// v2.0.3 + /// + Version2_0_3 = 0x2003, + /// + /// v2.0.4 + /// + Version2_0_4 = 0x2004, + /// + /// v2.0.5 + /// + Version2_0_5 = 0x2005, + /// + /// v2.1.0 + /// + Version2_1_0 = 0x2100, + /// + /// v2.1.1 + /// + Version2_1_1 = 0x2101, + /// + /// v2.1.2 + /// + Version2_1_2 = 0x2102, + /// + /// v2.1.3 + /// + Version2_1_3 = 0x2103, + /// + /// The current version + /// + CurrentVersion = 0x2103 }; /// @@ -1247,7 +1372,11 @@ namespace CecSharp /// /// Raspberry Pi /// - RaspberryPi = 0x100 + RaspberryPi = 0x100, + /// + /// TDA995x + /// + TDA995x = 0x200 }; /// @@ -1611,8 +1740,8 @@ namespace CecSharp PhysicalAddress = CEC_DEFAULT_PHYSICAL_ADDRESS; BaseDevice = (CecLogicalAddress)CEC_DEFAULT_BASE_DEVICE; HDMIPort = CEC_DEFAULT_HDMI_PORT; - ClientVersion = CecClientVersion::VersionPre1_5; - ServerVersion = CecServerVersion::VersionPre1_5; + ClientVersion = CecClientVersion::CurrentVersion; + ServerVersion = CecServerVersion::CurrentVersion; TvVendor = CecVendorId::Unknown; GetSettingsFromROM = false; @@ -1720,6 +1849,9 @@ namespace CecSharp if (ServerVersion >= CecServerVersion::Version1_8_2) AdapterType = (CecAdapterType)config.adapterType; + + if (ServerVersion >= CecServerVersion::Version2_1_0) + PowerOnScreensaver = config.bPowerOnScreensaver == 1; } /// @@ -1733,22 +1865,22 @@ namespace CecSharp property CecDeviceTypeList ^ DeviceTypes; /// - /// True to try to autodetect the physical address, false otherwise + /// (read only) set to true by libCEC when the physical address was autodetected /// property bool AutodetectAddress; /// - /// The physical address that libCEC uses on the CEC bus + /// The physical address of the CEC adapter /// property uint16_t PhysicalAddress; /// - /// 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 /// property CecLogicalAddress BaseDevice; /// - /// 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 /// property uint8_t HDMIPort; @@ -1763,7 +1895,7 @@ namespace CecSharp property CecServerVersion ServerVersion; /// - /// Override the vendor ID of the TV when set (for quirks mode) + /// Override the vendor ID of the TV. Leave this untouched to autodetect /// property CecVendorId TvVendor; @@ -1774,6 +1906,7 @@ namespace CecSharp /// /// 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/ /// property bool UseTVMenuLanguage; @@ -1783,12 +1916,12 @@ namespace CecSharp property bool ActivateSource; /// - /// 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. /// property CecLogicalAddresses ^WakeDevices; /// - /// 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. /// property CecLogicalAddresses ^PowerOffDevices; @@ -1821,6 +1954,10 @@ namespace CecSharp /// Send standby commands when the client application activates standby mode (S3). Must be implemented by the client application. /// property bool PowerOffDevicesOnStandby; + + /// + /// Shutdown this PC when the TV is switched off. only used when PowerOffOnStandby = false + /// property bool ShutdownOnStandby; /// @@ -1830,6 +1967,7 @@ namespace CecSharp /// /// 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/ /// property System::String ^ DeviceLanguage; @@ -1852,6 +1990,11 @@ namespace CecSharp /// The type of adapter that libCEC is connected to. /// property CecAdapterType AdapterType; + + /// + /// True to power on when quitting the screensaver. + /// + property bool PowerOnScreensaver; }; // the callback methods are called by unmanaged code, so we need some delegates for this @@ -1910,7 +2053,7 @@ namespace CecSharp /// Pointer to the callback struct /// The log message /// 1 when handled, 0 otherwise - int CecLogMessageCB(void *cbParam, const CEC::cec_log_message &message) + int CecLogMessageCB(void *cbParam, const CEC::cec_log_message message) { if (cbParam) { @@ -1928,7 +2071,7 @@ namespace CecSharp /// Pointer to the callback struct /// The key press command that libCEC received /// 1 when handled, 0 otherwise - int CecKeyPressCB(void *cbParam, const CEC::cec_keypress &key) + int CecKeyPressCB(void *cbParam, const CEC::cec_keypress key) { if (cbParam) { @@ -1946,7 +2089,7 @@ namespace CecSharp /// Pointer to the callback struct /// The raw CEC data /// 1 when handled, 0 otherwise - int CecCommandCB(void *cbParam, const CEC::cec_command &command) + int CecCommandCB(void *cbParam, const CEC::cec_command command) { if (cbParam) { @@ -1964,7 +2107,7 @@ namespace CecSharp /// Pointer to the callback struct /// The new configuration /// 1 when handled, 0 otherwise - int CecConfigCB(void *cbParam, const CEC::libcec_configuration &config) + int CecConfigCB(void *cbParam, const CEC::libcec_configuration config) { if (cbParam) { @@ -1982,7 +2125,7 @@ namespace CecSharp /// Pointer to the callback struct /// The alert message /// 1 when handled, 0 otherwise - 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) {