cec: remove m_writeMutex in CCECBusDevice
[deb_libcec.git] / src / lib / devices / CECBusDevice.h
index 80576b4b003b81a8c416653d0ff47e20d5fda89d..0ca662afe471a6c5117321cfc909c3513e725500 100644 (file)
@@ -32,6 +32,7 @@
  */
 
 #include <cectypes.h>
+#include <set>
 #include "../platform/threads.h"
 #include "../util/StdString.h"
 
@@ -72,9 +73,12 @@ namespace CEC
     virtual const char *          GetVendorName(bool bUpdate = false);
     virtual bool                  MyLogicalAddressContains(cec_logical_address address) const;
     virtual cec_bus_device_status GetStatus(bool bForcePoll = false);
+    virtual bool                  IsActiveSource(void) const { return m_bActiveSource; }
+    virtual bool                  IsUnsupportedFeature(cec_opcode opcode) const;
+    virtual void                  SetUnsupportedFeature(cec_opcode opcode);
 
-    virtual void SetInactiveDevice(void);
-    virtual void SetActiveDevice(void);
+    virtual void SetInactiveSource(void);
+    virtual void SetActiveSource(void);
     virtual bool TryLogicalAddress(void);
 
     virtual void SetDeviceStatus(const cec_bus_device_status newStatus);
@@ -97,8 +101,8 @@ namespace CEC
     virtual bool TransmitPowerState(cec_logical_address dest);
     virtual bool TransmitPoll(cec_logical_address dest);
     virtual bool TransmitVendorID(cec_logical_address dest, bool bSendAbort = true);
-    virtual bool TransmitKeypress(cec_user_control_code key);
-    virtual bool TransmitKeyRelease(void);
+    virtual bool TransmitKeypress(cec_user_control_code key, bool bWait = true);
+    virtual bool TransmitKeyRelease(bool bWait = true);
 
   protected:
     bool RequestCecVersion(void);
@@ -125,7 +129,7 @@ namespace CEC
     uint64_t              m_iLastActive;
     cec_version           m_cecVersion;
     cec_bus_device_status m_deviceStatus;
-    CMutex                m_writeMutex;
+    std::set<cec_opcode>  m_unsupportedFeatures;
     CMutex                m_mutex;
   };
 };