LRT14  1.0
 All Classes Namespaces Functions Variables Enumerations Enumerator
BinarySemaphore.h
1 #ifndef RHESUS_BINARYSEMAPHORE_H_
2 #define RHESUS_BINARYSEMAPHORE_H_
3 
4 #include "semLib.h"
5 #include "taskLib.h"
6 #include "sysLib.h"
7 
8 namespace Rhesus
9 {
10 namespace Toolkit
11 {
12 namespace Tasks
13 {
14 
20  {
21  public:
25  explicit BinarySemaphore(UINT32 state);
26  ~BinarySemaphore();
27 
31  void Give();
32 
36  void Take();
37 
42  void Take(int timeout);
43 
47  void Flush();
48 
49  private:
50 #ifdef __VXWORKS__
51  SEM_ID m_sem;
52 #endif
53 
54  };
55 
56 }
57 
58 }
59 
60 }
61 
62 #endif