X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fdevices%2FCECBusDevice.h;h=30ac2dc788df51c50251eaae0c8a4488799ccc03;hb=002fa4eafd1a4c4bbdf8afb101912cb078add961;hp=0415ad19e08817287b7829b4d5784f46c1c52a88;hpb=0cfdeb5a137651058e393d70c18523f77c10b5a6;p=deb_libcec.git diff --git a/src/lib/devices/CECBusDevice.h b/src/lib/devices/CECBusDevice.h index 0415ad1..30ac2dc 100644 --- a/src/lib/devices/CECBusDevice.h +++ b/src/lib/devices/CECBusDevice.h @@ -31,7 +31,7 @@ * http://www.pulse-eight.net/ */ -#include +#include "../../../include/cectypes.h" #include #include "../platform/threads/mutex.h" #include "../platform/util/StdString.h" @@ -40,12 +40,10 @@ namespace CEC { class CCECProcessor; class CCECCommandHandler; - class CSLCommandHandler; class CCECBusDevice { friend class CCECProcessor; - friend class CSLCommandHandler; public: CCECBusDevice(CCECProcessor *processor, cec_logical_address address, uint16_t iPhysicalAddress = 0); @@ -96,6 +94,7 @@ namespace CEC virtual bool TransmitActiveSource(void); virtual bool TransmitCECVersion(cec_logical_address dest); + virtual bool TransmitImageViewOn(void); virtual bool TransmitInactiveSource(void); virtual bool TransmitMenuState(cec_logical_address dest); virtual bool TransmitOSDName(cec_logical_address dest); @@ -107,8 +106,12 @@ namespace CEC virtual bool TransmitKeypress(cec_user_control_code key, bool bWait = true); virtual bool TransmitKeyRelease(bool bWait = true); + bool ReplaceHandler(bool bActivateSource = true); + protected: - bool ReplaceHandler(bool bInitHandler = true); + void CheckVendorIdRequested(void); + void MarkBusy(void); + void MarkReady(void); bool RequestCecVersion(void); bool RequestMenuLanguage(void); @@ -139,5 +142,9 @@ namespace CEC std::set m_unsupportedFeatures; PLATFORM::CMutex m_mutex; PLATFORM::CMutex m_handlerMutex; + PLATFORM::CEvent m_replacing; + unsigned m_iHandlerUseCount; + bool m_bAwaitingReceiveFailed; + bool m_bVendorIdRequested; }; };