- private:
- bool TryLogicalAddress(cec_logical_address address, const char *strLabel, unsigned int iIndex);
- bool FindLogicalAddressRecordingDevice(unsigned int iIndex);
- bool FindLogicalAddressTuner(unsigned int iIndex);
- bool FindLogicalAddressPlaybackDevice(unsigned int iIndex);
- bool FindLogicalAddressAudioSystem(unsigned int iIndex);
+ bool SetLineTimeout(uint8_t iTimeout);
+
+ bool Transmit(const cec_command &data, bool bIsReply);
+ void TransmitAbort(cec_logical_address source, cec_logical_address destination, cec_opcode opcode, cec_abort_reason reason = CEC_ABORT_REASON_UNRECOGNIZED_OPCODE);
+
+ bool StartBootloader(const char *strPort = NULL);
+ bool PingAdapter(void);
+ void HandlePoll(cec_logical_address initiator, cec_logical_address destination);
+ bool HandleReceiveFailed(cec_logical_address initiator);
+
+ bool GetDeviceInformation(const char *strPort, libcec_configuration *config, uint32_t iTimeoutMs = CEC_DEFAULT_CONNECT_TIMEOUT);
+
+ bool TransmitPendingActiveSourceCommands(void);
+
+ CCECDeviceMap *GetDevices(void) const { return m_busDevices; }
+ CLibCEC *GetLib(void) const { return m_libcec; }
+
+ bool IsHandledByLibCEC(const cec_logical_address address) const;
+
+ bool TryLogicalAddress(cec_logical_address address, cec_version libCECSpecVersion = CEC_VERSION_1_4);
+
+ bool IsRunningLatestFirmware(void);
+ void SwitchMonitoring(bool bSwitchTo);
+
+ bool AllocateLogicalAddresses(CCECClient* client);
+
+ uint16_t GetAdapterVendorId(void) const;
+ uint16_t GetAdapterProductId(void) const;
+ private:
+ bool OpenConnection(const char *strPort, uint16_t iBaudRate, uint32_t iTimeoutMs, bool bStartListening = true);
+ void SetCECInitialised(bool bSetTo = true);
+
+ void ReplaceHandlers(void);
+ bool PhysicalAddressInUse(uint16_t iPhysicalAddress);
+
+ bool ClearLogicalAddresses(void);
+ bool SetLogicalAddresses(const cec_logical_addresses &addresses);