X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fdevices%2FCECBusDevice.h;h=16b6e089b60a6fd6ebbeafd1da2f4510b72f9b55;hb=9a2f12df2010494eaaa82a27d9ec5ec32ff8c798;hp=6157e0a7448adf81a235d9631fc28b37f5e8718d;hpb=2ffc8cddcb866da58a4a45923823ad9fb1c296eb;p=deb_libcec.git diff --git a/src/lib/devices/CECBusDevice.h b/src/lib/devices/CECBusDevice.h index 6157e0a..16b6e08 100644 --- a/src/lib/devices/CECBusDevice.h +++ b/src/lib/devices/CECBusDevice.h @@ -2,7 +2,7 @@ /* * This file is part of the libCEC(R) library. * - * libCEC(R) is Copyright (C) 2011 Pulse-Eight Limited. All rights reserved. + * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved. * libCEC(R) is an original work, containing original code. * * libCEC(R) is a trademark of Pulse-Eight Limited. @@ -31,10 +31,10 @@ * http://www.pulse-eight.net/ */ -#include +#include "../../../include/cectypes.h" #include -#include "../platform/threads.h" -#include "../util/StdString.h" +#include "../platform/threads/mutex.h" +#include "../platform/util/StdString.h" namespace CEC { @@ -51,7 +51,6 @@ namespace CEC CCECBusDevice(CCECProcessor *processor, cec_logical_address address, uint16_t iPhysicalAddress = 0); virtual ~CCECBusDevice(void); - virtual void AddLog(cec_log_level level, const CStdString &strMessage); virtual bool HandleCommand(const cec_command &command); virtual bool PowerOn(void); virtual bool Standby(void); @@ -77,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); @@ -95,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); @@ -108,6 +110,8 @@ namespace CEC protected: bool ReplaceHandler(bool bInitHandler = true); + void MarkBusy(void); + void MarkReady(void); bool RequestCecVersion(void); bool RequestMenuLanguage(void); @@ -132,10 +136,14 @@ namespace CEC cec_menu_state m_menuState; bool m_bActiveSource; uint64_t m_iLastActive; + uint64_t m_iLastPowerStateUpdate; cec_version m_cecVersion; cec_bus_device_status m_deviceStatus; std::set m_unsupportedFeatures; - CMutex m_mutex; - CMutex m_handlerMutex; + PLATFORM::CMutex m_mutex; + PLATFORM::CMutex m_handlerMutex; + PLATFORM::CEvent m_replacing; + unsigned m_iHandlerUseCount; + bool m_bAwaitingReceiveFailed; }; };