X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FCECTypeUtils.h;h=0eccdcc6f5a28379f493fe0aaf2a798474ab1af8;hb=09407b00af5cb2e296f416970990400e054df473;hp=21a651d59fe259fbcabcbb5683aacc3a761143c9;hpb=784a6a797b71aafabbcbcb666b2e42ee02e13010;p=deb_libcec.git diff --git a/src/lib/CECTypeUtils.h b/src/lib/CECTypeUtils.h index 21a651d..0eccdcc 100644 --- a/src/lib/CECTypeUtils.h +++ b/src/lib/CECTypeUtils.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. @@ -31,6 +31,8 @@ * http://www.pulse-eight.net/ */ +#include "lib/platform/util/StdString.h" + namespace CEC { class CCECTypeUtils @@ -491,6 +493,7 @@ namespace CEC case CEC_VENDOR_SONY: return "Sony"; case CEC_VENDOR_TOSHIBA: + case CEC_VENDOR_TOSHIBA2: return "Toshiba"; case CEC_VENDOR_AKAI: return "Akai"; @@ -512,6 +515,15 @@ namespace CEC return "Broadcom"; case CEC_VENDOR_LOEWE: return "Loewe"; + case CEC_VENDOR_DENON: + return "Denon"; + case CEC_VENDOR_MARANTZ: + return "Marantz"; + case CEC_VENDOR_HARMAN_KARDON: + case CEC_VENDOR_HARMAN_KARDON2: + return "Harman/Kardon"; + case CEC_VENDOR_PULSE_EIGHT: + return "Pulse Eight"; default: return "Unknown"; } @@ -561,6 +573,22 @@ namespace CEC return "2.0.1"; case CEC_CLIENT_VERSION_2_0_2: return "2.0.2"; + case CEC_CLIENT_VERSION_2_0_3: + return "2.0.3"; + case CEC_CLIENT_VERSION_2_0_4: + return "2.0.4"; + case CEC_CLIENT_VERSION_2_0_5: + return "2.0.5"; + case CEC_CLIENT_VERSION_2_1_0: + return "2.1.0"; + case CEC_CLIENT_VERSION_2_1_1: + return "2.1.1"; + case CEC_CLIENT_VERSION_2_1_2: + return "2.1.2"; + case CEC_CLIENT_VERSION_2_1_3: + return "2.1.3"; + case CEC_CLIENT_VERSION_2_1_4: + return "2.1.4"; default: return "Unknown"; } @@ -610,6 +638,22 @@ namespace CEC return "2.0.1"; case CEC_SERVER_VERSION_2_0_2: return "2.0.2"; + case CEC_SERVER_VERSION_2_0_3: + return "2.0.3"; + case CEC_SERVER_VERSION_2_0_4: + return "2.0.4"; + case CEC_SERVER_VERSION_2_0_5: + return "2.0.5"; + case CEC_SERVER_VERSION_2_1_0: + return "2.1.0"; + case CEC_SERVER_VERSION_2_1_1: + return "2.1.1"; + case CEC_SERVER_VERSION_2_1_2: + return "2.1.2"; + case CEC_SERVER_VERSION_2_1_3: + return "2.1.3"; + case CEC_SERVER_VERSION_2_1_4: + return "2.1.4"; default: return "Unknown"; } @@ -666,6 +710,16 @@ namespace CEC return "favourite menu"; case CEC_USER_CONTROL_CODE_EXIT: return "exit"; + case CEC_USER_CONTROL_CODE_TOP_MENU: + return "top menu"; + case CEC_USER_CONTROL_CODE_DVD_MENU: + return "dvd menu"; + case CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE: + return "number entry mode"; + case CEC_USER_CONTROL_CODE_NUMBER11: + return "11"; + case CEC_USER_CONTROL_CODE_NUMBER12: + return "12"; case CEC_USER_CONTROL_CODE_NUMBER0: return "0"; case CEC_USER_CONTROL_CODE_NUMBER1: @@ -754,6 +808,10 @@ namespace CEC return "timer programming"; case CEC_USER_CONTROL_CODE_INITIAL_CONFIGURATION: return "initial configuration"; + case CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE: + return "select broadcast type"; + case CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION: + return "select sound presentation"; case CEC_USER_CONTROL_CODE_PLAY_FUNCTION: return "play (function)"; case CEC_USER_CONTROL_CODE_PAUSE_PLAY_FUNCTION: @@ -819,5 +877,27 @@ namespace CEC return "unknown"; } } + + static bool PhysicalAddressIsIncluded(uint16_t iParent, uint16_t iChild) + { + for (int iPtr = 3; iPtr >= 0; iPtr--) + { + if (((iParent >> 4*iPtr) & 0xF) > 0 && + ((iParent >> 4*iPtr) & 0xF) != ((iChild >> 4*iPtr) & 0xF)) + return false; + } + return true; + } + + static CStdString ToString(const cec_command& command) + { + CStdString dataStr; + dataStr.Format(">> %1x%1x", command.initiator, command.destination); + if (command.opcode_set == 1) + dataStr.AppendFormat(":%02x", command.opcode); + for (uint8_t iPtr = 0; iPtr < command.parameters.size; iPtr++) + dataStr.AppendFormat(":%02x", (unsigned int)command.parameters[iPtr]); + return dataStr; + } }; }