separate mutex for CUSBCECAdapterCommunication::MarkAsWaiting()
[deb_libcec.git] / src / lib / adapter / Pulse-Eight / USBCECAdapterCommunication.h
index 1144d0e1be2c46fdbe63c7594971839bcdf1d4d3..bac9437917cd4d06d3437aac331cf7568a426991 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * This file is part of the libCEC(R) library.
  *
- * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited.  All rights reserved.
+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited.  All rights reserved.
  * libCEC(R) is an original work, containing original code.
  *
  * libCEC(R) is a trademark of Pulse-Eight Limited.
@@ -33,6 +33,7 @@
 
 #include "lib/platform/threads/threads.h"
 #include "lib/adapter/AdapterCommunication.h"
+#include "USBCECAdapterMessage.h"
 
 namespace PLATFORM
 {
@@ -86,6 +87,10 @@ namespace CEC
     bool SetControlledMode(bool controlled);
     cec_vendor_id GetVendorId(void) { return CEC_VENDOR_UNKNOWN; }
     bool SupportsSourceLogicalAddress(const cec_logical_address UNUSED(address)) { return true; }
+    cec_adapter_type GetAdapterType(void);
+    uint16_t GetAdapterVendorId(void) const;
+    uint16_t GetAdapterProductId(void) const;
+    void SetActiveSource(bool bSetTo, bool bClientUnregistered);
     ///}
 
     bool ProvidesExtendedResponse(void);
@@ -177,6 +182,7 @@ namespace CEC
     CUSBCECAdapterCommands *                     m_commands;             /**< commands that can be sent to the adapter */
     CCECAdapterMessageQueue *                    m_adapterMessageQueue;  /**< the incoming and outgoing message queue */
     cec_logical_addresses                        m_logicalAddresses;     /**< the logical address list that this instance is using */
+    PLATFORM::CMutex                             m_waitingMutex;
   };
 
   class CAdapterEepromWriteThread : public PLATFORM::CThread