dol: initial dol commit
[jump.git] / dol / src / dol / visitor / PipeAndFilter / lib / ProcessWrapper.h
diff --git a/dol/src/dol/visitor/PipeAndFilter/lib/ProcessWrapper.h b/dol/src/dol/visitor/PipeAndFilter/lib/ProcessWrapper.h
new file mode 100644 (file)
index 0000000..da7335f
--- /dev/null
@@ -0,0 +1,55 @@
+#ifndef _PROCESSWRAPPER_H_\r
+#define _PROCESSWRAPPER_H_\r
+\r
+#include <stdio.h>\r
+#include <stdlib.h>\r
+#include "dol.h"\r
+#include "Fifo.h"\r
+#include "WindowedFifo.h"\r
+\r
+#ifdef INCLUDE_PROFILER\r
+extern FILE *profiler_output_file;\r
+extern unsigned int profiler_event_counter;\r
+#endif\r
+\r
+class ProcessWrapper\r
+{\r
+    public:\r
+        ProcessWrapper(char* name);\r
+        virtual ~ProcessWrapper();\r
+        virtual void initialize();\r
+        virtual int fire();\r
+        virtual bool isDetached() { return _isDetached; }\r
+        virtual void detach();\r
+        virtual int getIndex(unsigned indexNumber) const;\r
+        virtual char* getName() const;\r
+\r
+#ifdef INCLUDE_PROFILER\r
+        virtual void addToProfile(const char *event, void *port,\r
+                int length);\r
+#endif\r
+\r
+#ifdef INCLUDE_TRACE\r
+        int start_line;\r
+        int end_line;\r
+        char channel_name[NAME_LENGTH];\r
+#endif\r
+\r
+#ifdef INCLUDE_PERFORMANCE\r
+        int start_line;\r
+        int end_line;\r
+        CURRENT_TIME start_time;\r
+        CURRENT_TIME end_time;\r
+#endif\r
+\r
+    protected:\r
+        char* _name;\r
+        DOLProcess _process;\r
+        bool _isDetached;\r
+        int _iteratorIndex[4];\r
+        virtual int getIndex(const char* string, char* tokens,\r
+                int indexNumber) const;\r
+};\r
+\r
+#endif\r
+\r