Flair
Framework Libre Air
ConditionVariable.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 CONDITIONVARIABLE_H
14 #define CONDITIONVARIABLE_H
15 
16 #include <Mutex.h>
17 
18 class ConditionVariable_impl;
19 
20 namespace flair {
21 namespace core {
22 
29 class ConditionVariable : public Mutex {
30 public:
39  ConditionVariable(const Object *parent, std::string name);
40 
46 
58  void CondWait(void);
59 
75  bool CondWaitUntil(Time date);
76 
86  void CondSignal(void);
87 
88 private:
89  class ConditionVariable_impl *pimpl_;
90 };
91 
92 } // end namespace core
93 } // end namespace flair
94 
95 #endif // CONDITIONVARIABLE_H
void CondWait(void)
Block on the condition variable.
Base class for all Framework's classes.
Definition: Object.h:77
namespace of the flair Framework
Definition: Ahrs.h:19
Class defining a mutex.
Definition: Mutex.h:29
unsigned long long Time
Time definition, in ns.
Definition: Object.h:49
bool CondWaitUntil(Time date)
Block on the condition variable with a timeout.
ConditionVariable(const Object *parent, std::string name)
Constructor.
Class defining a condition variable.
Definition: ConditionVariable.h:29
Class defining a mutex.
void CondSignal(void)
Unblock threads blocked on the condition variable.