LRT14  1.0
 All Classes Namespaces Functions Variables Enumerations Enumerator
SyncObject.h
1 #ifndef RHESUS_SYNCOBJECT_H_
2 #define RHESUS_SYNCOBJECT_H_
3 
4 #ifdef __VXWORKS__
5 #include <semLib.h>
6 #include <vxWorks.h>
7 #endif
8 
9 namespace Rhesus
10 {
11 namespace Toolkit
12 {
13 namespace Tasks
14 {
15  class SyncObject
16  {
17  public:
18  SyncObject();
19  ~SyncObject();
20 
21  void lock();
22  bool try_lock(INT32 timeout);
23  void unlock();
24 
25  private:
26 #ifdef __VXWORKS__
27  SEM_ID m_internSem;
28 #endif
29  bool m_locked;
30  };
31 }
32 }
33 }
34 
35 #endif