* http://www.pulse-eight.net/
*/
-#include "CECCommandHandler.h"
+#include <cectypes.h>
#include "platform/threads.h"
#include "util/StdString.h"
namespace CEC
{
class CCECProcessor;
+ class CCECCommandHandler;
class CCECBusDevice
{
virtual uint16_t GetMyPhysicalAddress(void) const;
virtual void SetVendorId(uint16_t iVendorId, uint8_t iVendorClass = 0);
+ virtual const char *GetVendorName(void) const { return CECVendorIdToString(m_iVendorId); }
+ virtual uint64_t GetVendorId(void) const { return m_iVendorId; }
+ virtual uint8_t GetVendorClass(void) const { return m_iVendorClass; }
+
+ virtual uint64_t GetLastActive(void) const { return m_iLastActive; }
+
virtual bool HandleCommand(const cec_command &command);
virtual void AddLog(cec_log_level level, const CStdString &strMessage);
virtual CCECProcessor *GetProcessor() const { return m_processor; }
virtual CCECCommandHandler *GetHandler(void) const { return m_handler; };
+ virtual void PollVendorId(void);
+
static const char *CECVendorIdToString(const uint64_t iVendorId);
protected:
CCECCommandHandler *m_handler;
uint64_t m_iVendorId;
uint8_t m_iVendorClass;
+ uint64_t m_iLastActive;
CMutex m_mutex;
};
};