X-Git-Url: http://sraa.de/git/?a=blobdiff_plain;f=dol%2Fsrc%2Fdol%2Fvisitor%2FPipeAndFilter%2Flib%2FProcessWrapper.h;fp=dol%2Fsrc%2Fdol%2Fvisitor%2FPipeAndFilter%2Flib%2FProcessWrapper.h;h=da7335fbe9383f9b12cddf617cf996bd5cb3213e;hb=8c411cf24ed0eb889191aaeafd8fa1e69081df42;hp=0000000000000000000000000000000000000000;hpb=dea7a4fb1ed110d3ce6e6d9255103d724bd66c0e;p=jump.git diff --git a/dol/src/dol/visitor/PipeAndFilter/lib/ProcessWrapper.h b/dol/src/dol/visitor/PipeAndFilter/lib/ProcessWrapper.h new file mode 100644 index 0000000..da7335f --- /dev/null +++ b/dol/src/dol/visitor/PipeAndFilter/lib/ProcessWrapper.h @@ -0,0 +1,55 @@ +#ifndef _PROCESSWRAPPER_H_ +#define _PROCESSWRAPPER_H_ + +#include +#include +#include "dol.h" +#include "Fifo.h" +#include "WindowedFifo.h" + +#ifdef INCLUDE_PROFILER +extern FILE *profiler_output_file; +extern unsigned int profiler_event_counter; +#endif + +class ProcessWrapper +{ + public: + ProcessWrapper(char* name); + virtual ~ProcessWrapper(); + virtual void initialize(); + virtual int fire(); + virtual bool isDetached() { return _isDetached; } + virtual void detach(); + virtual int getIndex(unsigned indexNumber) const; + virtual char* getName() const; + +#ifdef INCLUDE_PROFILER + virtual void addToProfile(const char *event, void *port, + int length); +#endif + +#ifdef INCLUDE_TRACE + int start_line; + int end_line; + char channel_name[NAME_LENGTH]; +#endif + +#ifdef INCLUDE_PERFORMANCE + int start_line; + int end_line; + CURRENT_TIME start_time; + CURRENT_TIME end_time; +#endif + + protected: + char* _name; + DOLProcess _process; + bool _isDetached; + int _iteratorIndex[4]; + virtual int getIndex(const char* string, char* tokens, + int indexNumber) const; +}; + +#endif +