if (bSwitchTo)
UnregisterClients();
}
+
+void CCECProcessor::HandleLogicalAddressLost(cec_logical_address address)
+{
+ m_libcec->AddLog(CEC_LOG_NOTICE, "logical address %x was taken by another device, re-registering the client");
+ CCECClient* client = GetClient(address);
+ if (client)
+ RegisterClient(client);
+}
CCECClient *GetClient(const cec_logical_address address);
bool OnCommandReceived(const cec_command &command);
+ void HandleLogicalAddressLost(cec_logical_address address);
CCECBusDevice * GetDevice(cec_logical_address address) const;
CCECAudioSystem * GetAudioSystem(void) const;
*/
virtual bool HandleReceiveFailed(cec_logical_address initiator) = 0;
+ /*!
+ * @brief Callback method for IAdapterCommunication, called when a logical address that libCEC uses was taken by another device.
+ * @param address The logical address that was taken by another device.
+ */
+ virtual void HandleLogicalAddressLost(cec_logical_address address) = 0;
+
virtual CLibCEC *GetLib(void) const = 0;
};