CEC_USER_CONTROL_CODE_F4_YELLOW = 0x74,
CEC_USER_CONTROL_CODE_F5 = 0x75,
CEC_USER_CONTROL_CODE_DATA = 0x76,
- CEC_USER_CONTROL_CODE_MAX = 0x76,
+ CEC_USER_CONTROL_CODE_AN_RETURN = 0x91,
+ CEC_USER_CONTROL_CODE_MAX = 0x91,
CEC_USER_CONTROL_CODE_UNKNOWN
} cec_user_control_code;
-typedef enum cec_an_user_control_code
-{
- CEC_AN_USER_CONTROL_CODE_RETURN = 0x91
-} cec_an_user_control_code;
-
typedef enum cec_logical_address
{
CECDEVICE_UNKNOWN = -1, //not a valid logical address
}
cec_device_type operator[](uint8_t pos) const { return pos < 5 ? types[pos] : CEC_DEVICE_TYPE_RESERVED; }
+ bool operator==(const cec_device_type_list &other) const
+ {
+ bool bEqual(true);
+ for (uint8_t iPtr = 0; iPtr < 5; iPtr++)
+ bEqual &= (types[iPtr] == other[iPtr]);
+ return bEqual;
+ }
+
+ bool operator!=(const cec_device_type_list &other) const
+ {
+ return !(*this == other);
+ }
#endif
} cec_device_type_list;
bool IsSet(cec_logical_address address) const { return addresses[(int) address] == 1; }
bool operator[](uint8_t pos) const { return pos < 16 ? IsSet((cec_logical_address) pos) : false; }
+
+ bool operator==(const cec_logical_addresses &other) const
+ {
+ bool bEqual(true);
+ for (uint8_t iPtr = 0; iPtr < 16; iPtr++)
+ bEqual &= ((addresses[(int)iPtr] == 1) == other[iPtr]);
+ return bEqual;
+ }
+
+ bool operator!=(const cec_logical_addresses &other) const
+ {
+ return !(*this == other);
+ }
#endif
} cec_logical_addresses;
typedef enum cec_client_version
{
CEC_CLIENT_VERSION_PRE_1_5 = 0,
- CEC_CLIENT_VERSION_1_5_0 = 1
+ CEC_CLIENT_VERSION_1_5_0 = 0x1500
} cec_client_version;
typedef struct libcec_configuration
{
+ cec_client_version clientVersion; /*!< the version of the client that is connecting */
char strDeviceName[13]; /*!< how to name the device on the CEC bus */
cec_device_type_list deviceTypes; /*!< the CEC device types to emulate */
uint16_t iPhysicalAddress; /*!< the physical address of the CEC adapter */
cec_logical_address baseDevice; /*!< the logical address of the device to which the adapter is connected. only used when iPhysicalAddress = 0 */
uint8_t iHDMIPort; /*!< the HDMI port to which the adapter is connected. only used when iPhysicalAddress = 0 */
cec_vendor_id tvVendor; /*!< the vendor ID of the TV. leave this untouched to autodetect */
- cec_client_version clientVersion; /*!< the version of the client that is connecting */
cec_logical_addresses wakeDevices; /*!< wake these CEC devices when starting libCEC */
// player specific settings