/*
* 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.
* http://www.pulse-eight.net/
*/
+#include "lib/platform/util/StdString.h"
+
namespace CEC
{
class CCECTypeUtils
case CEC_VENDOR_SONY:
return "Sony";
case CEC_VENDOR_TOSHIBA:
+ case CEC_VENDOR_TOSHIBA2:
return "Toshiba";
case CEC_VENDOR_AKAI:
return "Akai";
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:
+ return "Harman/Kardon";
default:
return "Unknown";
}
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";
default:
return "Unknown";
}
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";
default:
return "Unknown";
}
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;
+ }
};
}