+CCECProcessor::CCECProcessor(CLibCEC *controller, const libcec_configuration *configuration) :
+ m_bInitialised(false),
+ m_iPhysicalAddress(configuration->iPhysicalAddress),
+ m_iHDMIPort(configuration->iHDMIPort),
+ m_iBaseDevice(configuration->baseDevice),
+ m_strDeviceName(configuration->strDeviceName),
+ m_types(configuration->deviceTypes),
+ m_communication(NULL),
+ m_controller(controller),
+ m_bMonitor(false),
+ m_iStandardLineTimeout(3),
+ m_iRetryLineTimeout(3),
+ m_iLastTransmission(0),
+ m_clientVersion(configuration->clientVersion),
+ m_wakeDevices(configuration->wakeDevices)
+{
+ m_logicalAddresses.Clear();
+ CreateBusDevices();
+ if (configuration->tvVendor != CEC_VENDOR_UNKNOWN)
+ {
+ m_busDevices[CECDEVICE_TV]->SetVendorId((uint64_t)configuration->tvVendor);
+ m_busDevices[CECDEVICE_TV]->ReplaceHandler(false);
+ }
+}
+
+CCECProcessor::CCECProcessor(CLibCEC *controller, const char *strDeviceName, const cec_device_type_list &types, uint16_t iPhysicalAddress, cec_client_version clientVersion) :