X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fdevices%2FCECBusDevice.h;h=0097dd4f28eb49e0e45cf7472be1bcdffa37886a;hb=9e1cfa5c37120c1bad3eba0e9c5e6acf8129610b;hp=d8d751cca8fcb120f7774a2119927cab7c51d239;hpb=ed21be2a64e3fe66dddffbd822c32f38e3b9192f;p=deb_libcec.git diff --git a/src/lib/devices/CECBusDevice.h b/src/lib/devices/CECBusDevice.h index d8d751c..0097dd4 100644 --- a/src/lib/devices/CECBusDevice.h +++ b/src/lib/devices/CECBusDevice.h @@ -50,13 +50,12 @@ namespace CEC virtual void AddLog(cec_log_level level, const CStdString &strMessage); virtual bool HandleCommand(const cec_command &command); - virtual void PollVendorId(void); virtual bool PowerOn(void); virtual bool Standby(void); virtual cec_version GetCecVersion(void); virtual CCECCommandHandler * GetHandler(void) const { return m_handler; }; - virtual uint64_t GetCommandSent(void) const { return m_iLastCommandSent; } + virtual uint64_t GetLastCommandSent(void) const; virtual uint64_t GetLastActive(void) const { return m_iLastActive; } virtual cec_logical_address GetLogicalAddress(void) const { return m_iLogicalAddress; } virtual const char* GetLogicalAddressName(void) const; @@ -70,8 +69,9 @@ namespace CEC virtual cec_device_type GetType(void) const { return m_type; } virtual cec_vendor_id GetVendorId(void); virtual const char * GetVendorName(void); + virtual int32_t GetTransmitTimeout(void) const { return m_iTransmitTimeout; } virtual bool MyLogicalAddressContains(cec_logical_address address) const; - virtual cec_bus_device_status GetStatus(void); + virtual cec_bus_device_status GetStatus(bool bForcePoll = false); bool RequestCecVersion(void); bool RequestMenuLanguage(void); @@ -93,10 +93,11 @@ namespace CEC virtual void SetMenuState(const cec_menu_state state); virtual void SetVendorId(uint64_t iVendorId); virtual void SetPowerStatus(const cec_power_status powerStatus); + virtual void SetTransmitTimeout(uint32_t iTimeout) { m_iTransmitTimeout = iTimeout; } virtual bool TransmitActiveSource(void); virtual bool TransmitCECVersion(cec_logical_address dest); - virtual bool TransmitInactiveView(void); + virtual bool TransmitInactiveSource(void); virtual bool TransmitMenuState(cec_logical_address dest); virtual bool TransmitOSDName(cec_logical_address dest); virtual bool TransmitOSDString(cec_logical_address dest, cec_display_control duration, const char *strMessage); @@ -108,6 +109,8 @@ namespace CEC virtual bool SendKeyRelease(bool bWait = true); protected: + bool NeedsPoll(void); + cec_device_type m_type; CStdString m_strDeviceName; uint16_t m_iPhysicalAddress; @@ -124,7 +127,9 @@ namespace CEC uint64_t m_iLastActive; cec_version m_cecVersion; cec_bus_device_status m_deviceStatus; + int32_t m_iTransmitTimeout; CMutex m_transmitMutex; + CMutex m_writeMutex; CMutex m_mutex; CCondition m_condition; };