OpenDaVINCI  4.15.3
WIN32Mutex.h
Go to the documentation of this file.
1 
20 #ifndef OPENDAVINCI_CORE_WRAPPER_WIN32IMPL_WIN32MUTEX_H_
21 #define OPENDAVINCI_CORE_WRAPPER_WIN32IMPL_WIN32MUTEX_H_
22 
23 // Using c++11 standard.
24 #include <mutex>
25 
27 
30 
31 namespace odcore {
32  namespace wrapper {
33  namespace WIN32Impl {
34 
35  using namespace std;
36 
37  class WIN32Condition;
38 
45  class WIN32Mutex : public Mutex {
46  private:
48  friend class WIN32Condition;
49 
50  protected:
51  WIN32Mutex();
52 
53  private:
59  WIN32Mutex(const WIN32Mutex &);
60 
66  WIN32Mutex& operator=(const WIN32Mutex &);
67 
68  public:
69  virtual ~WIN32Mutex();
70 
71  virtual void lock();
72 
73  virtual bool tryLock();
74 
75  virtual void unlock();
76 
77  std::mutex& getNativeMutex();
78 
79  private:
80  std::mutex m_mutex;
81  };
82 
83  }
84  }
85 } // odcore::wrapper::WIN32Impl
86 
87 #endif /*OPENDAVINCI_CORE_WRAPPER_WIN32IMPL_WIN32MUTEX_H_*/
Definition: MutexFactoryWorker.h:41
Definition: base/Mutex.h:49
Definition: WIN32Condition.h:44
Definition: WIN32Mutex.h:45
Definition: SystemLibraryProducts.h:29