Flair
Framework Libre Air
Semaphore.h
Go to the documentation of this file.
1 // %flair:license{
2 // This file is part of the Flair framework distributed under the
3 // CECILL-C License, Version 1.0.
4 // %flair:license}
13 #ifndef SEMAPHORE_H
14 #define SEMAPHORE_H
15 
16 #include <Object.h>
17 
18 class Semaphore_impl;
19 class ConditionVariable_impl;
20 
21 namespace flair {
22 namespace core {
23 
29 class Semaphore : public Object {
30  friend class ::ConditionVariable_impl;
31 
32 public:
41  Semaphore(const Object *parent, uint32_t initialValue, std::string name = "");
42 
47  ~Semaphore();
48 
55  void GetSemaphore(void) const;
56 
63  void ReleaseSemaphore(void) const;
64 
65 private:
66  class Semaphore_impl *pimpl_;
67 };
68 
69 } // end namespace core
70 } // end namespace flair
71 
72 #endif // SEMAPHORE_H
Semaphore(const Object *parent, uint32_t initialValue, std::string name="")
Constructor.
Base class for all Framework's classes.
Definition: Object.h:77
namespace of the flair Framework
Definition: Ahrs.h:19
~Semaphore()
Destructor.
void GetSemaphore(void) const
GetSemaphore.
void ReleaseSemaphore(void) const
ReleaseSemaphore.
Base class for all Framework's classes.
Class defining a semaphore.
Definition: Semaphore.h:29