m_libcec(libcec),
m_iStandardLineTimeout(3),
m_iRetryLineTimeout(3),
- m_iLastTransmission(0)
+ m_iLastTransmission(0),
+ m_bMonitor(true)
{
m_busDevices = new CCECDeviceMap(this);
}
config->iFirmwareVersion = m_communication->GetFirmwareVersion();
config->iPhysicalAddress = m_communication->GetPhysicalAddress();
config->iFirmwareBuildDate = m_communication->GetFirmwareBuildDate();
+ config->adapterType = m_communication->GetAdapterType();
return true;
}
configuration.serverVersion = LIBCEC_VERSION_CURRENT;
configuration.iFirmwareVersion = m_communication->GetFirmwareVersion();
configuration.iFirmwareBuildDate = m_communication->GetFirmwareBuildDate();
+ configuration.adapterType = m_communication->GetAdapterType();
// mark the client as registered
client->SetRegistered(true);
if (SetLogicalAddresses(addresses))
{
// no more clients left, disable controlled mode
- if (addresses.IsEmpty())
+ if (addresses.IsEmpty() && !m_bMonitor)
m_communication->SetControlledMode(false);
return true;
m_communication->IsRunningLatestFirmware() :
true;
}
+
+void CCECProcessor::SwitchMonitoring(bool bSwitchTo)
+{
+ {
+ CLockObject lock(m_mutex);
+ m_bMonitor = bSwitchTo;
+ }
+ if (bSwitchTo)
+ UnregisterClients();
+}