X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fimplementations%2FCECCommandHandler.h;h=3a9bd6f1a3370bcc367bb611183cc2d6f9f691b2;hb=42d28d15d07f893b491051970ade1bd56bb596eb;hp=fe9a3f1be191aa9b1de930f91bcdde9d76537604;hpb=b78b4e339dd201d11c5e6dbfec36534d6bc5fd69;p=deb_libcec.git diff --git a/src/lib/implementations/CECCommandHandler.h b/src/lib/implementations/CECCommandHandler.h index fe9a3f1..3a9bd6f 100644 --- a/src/lib/implementations/CECCommandHandler.h +++ b/src/lib/implementations/CECCommandHandler.h @@ -77,7 +77,7 @@ namespace CEC m_waitingFor.clear(); } - bool Wait(cec_opcode opcode, uint32_t iTimeout = 2000) + bool Wait(cec_opcode opcode, uint32_t iTimeout = CEC_DEFAULT_TRANSMIT_WAIT) { CResponse *response = GetEvent(opcode); return response ? response->Wait(iTimeout) : false; @@ -132,6 +132,7 @@ namespace CEC virtual bool PowerOn(const cec_logical_address iInitiator, const cec_logical_address iDestination); virtual bool TransmitImageViewOn(const cec_logical_address iInitiator, const cec_logical_address iDestination); virtual bool TransmitStandby(const cec_logical_address iInitiator, const cec_logical_address iDestination); + virtual bool TransmitRequestActiveSource(const cec_logical_address iInitiator, bool bWaitForResponse = true); virtual bool TransmitRequestCecVersion(const cec_logical_address iInitiator, const cec_logical_address iDestination, bool bWaitForResponse = true); virtual bool TransmitRequestMenuLanguage(const cec_logical_address iInitiator, const cec_logical_address iDestination, bool bWaitForResponse = true); virtual bool TransmitRequestOSDName(const cec_logical_address iInitiator, const cec_logical_address iDestination, bool bWaitForResponse = true); @@ -159,6 +160,12 @@ namespace CEC virtual bool SendDeckStatusUpdateOnActiveSource(void) const { return m_bOPTSendDeckStatusUpdateOnActiveSource; }; virtual bool TransmitPendingActiveSourceCommands(void) { return true; } + virtual void SignalOpcode(cec_opcode opcode); + + virtual bool ActiveSourcePending(void); + virtual bool SupportsDeviceType(const cec_device_type UNUSED(type)) const { return true; }; + cec_device_type GetReplacementDeviceType(const cec_device_type type) const { return type; } + protected: virtual bool HandleActiveSource(const cec_command &command); virtual bool HandleDeckControl(const cec_command &command); @@ -200,12 +207,11 @@ namespace CEC virtual size_t GetMyDevices(std::vector &devices) const; virtual CCECBusDevice *GetDevice(cec_logical_address iLogicalAddress) const; virtual CCECBusDevice *GetDeviceByPhysicalAddress(uint16_t iPhysicalAddress) const; - virtual CCECBusDevice *GetDeviceByType(cec_device_type type) const; virtual bool SetVendorId(const cec_command &command); virtual void SetPhysicalAddress(cec_logical_address iAddress, uint16_t iNewAddress); - virtual bool Transmit(cec_command &command, bool bExpectResponse = true, cec_opcode expectedResponse = CEC_OPCODE_NONE); + virtual bool Transmit(cec_command &command, bool bSuppressWait = false); CCECBusDevice * m_busDevice; CCECProcessor * m_processor; @@ -216,5 +222,7 @@ namespace CEC bool m_bOPTSendDeckStatusUpdateOnActiveSource; cec_vendor_id m_vendorId; CWaitForResponse *m_waitForResponse; + bool m_bActiveSourcePending; + PLATFORM::CMutex m_mutex; }; };