OpenDaVINCI  4.16.0
base/Mutex.h
Go to the documentation of this file.
1 
20 #ifndef OPENDAVINCI_CORE_BASE_MUTEX_H_
21 #define OPENDAVINCI_CORE_BASE_MUTEX_H_
22 
24 #include <memory>
26 
27 namespace odcore {
28  namespace base {
29 
50  private:
51  friend class Lock;
52 
53  private:
59  Mutex(const Mutex&);
60 
66  Mutex& operator=(const Mutex &);
67 
68  public:
69  Mutex();
70 
71  virtual ~Mutex();
72 
73  protected:
77  virtual void lock();
78 
84  virtual bool tryLock();
85 
89  virtual void unlock();
90 
91  private:
92  std::shared_ptr<odcore::wrapper::Mutex> m_mutex;
93  };
94 
95  }
96 } // odcore::base
97 
98 #endif /*OPENDAVINCI_CORE_BASE_MUTEX_H_*/
Definition: base/Mutex.h:49
#define OPENDAVINCI_API
Definition: opendavinci.h:67
Definition: Lock.h:46