cec: add GetDeviceCecVersion()/cec_get_device_cec_version() to the interface. mostly...
[deb_libcec.git] / src / lib / devices / CECBusDevice.h
index a115346e00c1677a00cfbe6fd21ad1717cd04d3e..4b6aa677e4254e6252498d01e713ec44188b9fc2 100644 (file)
@@ -53,6 +53,8 @@ namespace CEC
     virtual cec_logical_address GetMyLogicalAddress(void) const;
     virtual uint16_t GetMyPhysicalAddress(void) const;
 
+    virtual void SetCecVersion(cec_version newVersion);
+    virtual void SetVendorId(const cec_datapacket &data);
     virtual void SetVendorId(uint64_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; }
@@ -66,7 +68,22 @@ namespace CEC
     virtual CCECProcessor *GetProcessor() const { return m_processor; }
     virtual CCECCommandHandler *GetHandler(void) const { return m_handler; };
 
+    virtual cec_version GetCecVersion(void);
     virtual void PollVendorId(void);
+    virtual bool PowerOn(void);
+    virtual bool Standby(void);
+    virtual bool SetOSDString(cec_display_control duration, const char *strMessage);
+    virtual bool ReportCECVersion(void);
+    virtual bool ReportDeckStatus(void);
+    virtual bool ReportMenuState(bool bActive = true);
+    virtual bool ReportOSDName(void);
+    virtual bool ReportPowerState(bool bOn = true);
+    virtual bool ReportVendorID(void);
+
+    virtual bool BroadcastActiveView(void);
+    virtual bool BroadcastInactiveView(void);
+    virtual bool BroadcastPhysicalAddress(void);
+    virtual bool BroadcastActiveSource(void);
 
     static const char *CECVendorIdToString(const uint64_t iVendorId);
 
@@ -78,6 +95,8 @@ namespace CEC
     uint64_t            m_iVendorId;
     uint8_t             m_iVendorClass;
     uint64_t            m_iLastActive;
+    cec_version         m_cecVersion;
     CMutex              m_mutex;
+    CCondition          m_condition;
   };
 };