X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fdevices%2FCECBusDevice.h;h=a4350da4bc7f93162d78fc0e5c2c682f7ae8e8ae;hb=8670c97085f27ad5d7f3fc218247f32332462b1d;hp=df7bd96ba2e53c2698661250229568f55eaab42a;hpb=b492c10e731625d7c000654de2372b54339f7c8d;p=deb_libcec.git diff --git a/src/lib/devices/CECBusDevice.h b/src/lib/devices/CECBusDevice.h index df7bd96..a4350da 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" @@ -76,6 +76,8 @@ namespace CEC virtual bool IsActiveSource(void) const { return m_bActiveSource; } virtual bool IsUnsupportedFeature(cec_opcode opcode) const; virtual void SetUnsupportedFeature(cec_opcode opcode); + virtual void HandlePoll(cec_logical_address initiator); + virtual bool HandleReceiveFailed(void); virtual void SetInactiveSource(void); virtual void SetActiveSource(void); @@ -94,6 +96,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); @@ -106,7 +109,9 @@ namespace CEC virtual bool TransmitKeyRelease(bool bWait = true); protected: - bool ReplaceHandler(bool bInitHandler = true); + bool ReplaceHandler(bool bActivateSource = true); + void MarkBusy(void); + void MarkReady(void); bool RequestCecVersion(void); bool RequestMenuLanguage(void); @@ -137,5 +142,8 @@ namespace CEC std::set m_unsupportedFeatures; PLATFORM::CMutex m_mutex; PLATFORM::CMutex m_handlerMutex; + PLATFORM::CEvent m_replacing; + unsigned m_iHandlerUseCount; + bool m_bAwaitingReceiveFailed; }; };