+#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