dol: initial dol commit
[jump.git] / dol / src / dol / visitor / PipeAndFilter / lib / Event.h
diff --git a/dol/src/dol/visitor/PipeAndFilter/lib/Event.h b/dol/src/dol/visitor/PipeAndFilter/lib/Event.h
new file mode 100644 (file)
index 0000000..51d14e8
--- /dev/null
@@ -0,0 +1,30 @@
+#ifndef _EVENT_H_\r
+#define _EVENT_H_\r
+\r
+#include <iostream>\r
+#include <string>\r
+#include <pthread.h>\r
+#include "Mutex.h"\r
+#include "Condition.h"\r
+\r
+class Event {\r
+    public:\r
+        Event();\r
+        Event(std::string name);\r
+        Event(Mutex *mutex);\r
+        virtual ~Event();\r
+        virtual void notify();\r
+        virtual void notifyAll();\r
+        virtual void wait();\r
+        virtual void notifyAfterWait();\r
+\r
+    protected:\r
+        Mutex *_mutex;\r
+        Condition *_condition;\r
+        Mutex *_waitMutex;\r
+        Condition *_waitCondition;\r
+        bool _pendingWait;\r
+        std::string _name;\r
+};\r
+\r
+#endif\r