51d14e816ec1c7636e4ceb406a635750b175d8ce
[jump.git] / dol / src / dol / visitor / PipeAndFilter / lib / Event.h
1 #ifndef _EVENT_H_\r
2 #define _EVENT_H_\r
3 \r
4 #include <iostream>\r
5 #include <string>\r
6 #include <pthread.h>\r
7 #include "Mutex.h"\r
8 #include "Condition.h"\r
9 \r
10 class Event {\r
11     public:\r
12         Event();\r
13         Event(std::string name);\r
14         Event(Mutex *mutex);\r
15         virtual ~Event();\r
16         virtual void notify();\r
17         virtual void notifyAll();\r
18         virtual void wait();\r
19         virtual void notifyAfterWait();\r
20 \r
21     protected:\r
22         Mutex *_mutex;\r
23         Condition *_condition;\r
24         Mutex *_waitMutex;\r
25         Condition *_waitCondition;\r
26         bool _pendingWait;\r
27         std::string _name;\r
28 };\r
29 \r
30 #endif\r