X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FCECProcessor.h;h=dc8e9f557d1c476b6a16029a11239fc3f380b56a;hb=7e316a2f39ded0dfe46661cc4007f5c20c58da96;hp=04d84f55ee2f5edab2997a5aec3d51a5df25d316;hpb=b0015449e4448934bbac6326d2e599d6be54d654;p=deb_libcec.git diff --git a/src/lib/CECProcessor.h b/src/lib/CECProcessor.h index 04d84f5..dc8e9f5 100644 --- a/src/lib/CECProcessor.h +++ b/src/lib/CECProcessor.h @@ -32,7 +32,6 @@ */ #include -#include "../../include/cectypes.h" #include "platform/threads/threads.h" #include "platform/util/buffer.h" @@ -89,7 +88,6 @@ namespace CEC cec_logical_address GetActiveSource(bool bRequestActiveSource = true); bool IsActiveSource(cec_logical_address iAddress); bool CECInitialised(void); - bool SetStreamPath(uint16_t iPhysicalAddress); bool StandbyDevices(const cec_logical_address initiator, const CECDEVICEVEC &devices); bool StandbyDevice(const cec_logical_address initiator, cec_logical_address address); @@ -109,7 +107,7 @@ namespace CEC bool SetLineTimeout(uint8_t iTimeout); - bool Transmit(const cec_command &data); + 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); @@ -126,17 +124,20 @@ namespace CEC bool IsHandledByLibCEC(const cec_logical_address address) const; - bool TryLogicalAddress(cec_logical_address address); + bool TryLogicalAddress(cec_logical_address address, cec_version libCECSpecVersion = CEC_VERSION_1_4); bool IsRunningLatestFirmware(void); - private: + void SwitchMonitoring(bool bSwitchTo); + + private: bool OpenConnection(const char *strPort, uint16_t iBaudRate, uint32_t iTimeoutMs, bool bStartListening = true); void SetCECInitialised(bool bSetTo = true); void ReplaceHandlers(void); - void CheckPendingActiveSource(void); bool PhysicalAddressInUse(uint16_t iPhysicalAddress); - bool SetAckMask(uint16_t iMask); + + bool ClearLogicalAddresses(void); + bool SetLogicalAddresses(const cec_logical_addresses &addresses); void LogOutput(const cec_command &data); void ProcessCommand(const cec_command &command); @@ -153,5 +154,6 @@ namespace CEC CCECInputBuffer m_inBuffer; CCECDeviceMap * m_busDevices; std::map m_clients; + bool m_bMonitor; }; };