* http://www.pulse-eight.net/
*/
-#include <cectypes.h>
+#include "../../../include/cectypes.h"
#include <set>
#include "../platform/threads/mutex.h"
#include "../platform/util/StdString.h"
{
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);
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);
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);
std::set<cec_opcode> m_unsupportedFeatures;
PLATFORM::CMutex m_mutex;
PLATFORM::CMutex m_handlerMutex;
+ PLATFORM::CEvent m_replacing;
+ unsigned m_iHandlerUseCount;
+ bool m_bAwaitingReceiveFailed;
+ bool m_bVendorIdRequested;
};
};