1 #ifndef _PROCESSWRAPPER_H_
\r
2 #define _PROCESSWRAPPER_H_
\r
6 #include "dol_sched_if.h"
\r
8 #include "WindowedFifo.h"
\r
9 #include "functional_trace.h"
\r
10 #include "Performance_Extraction.h"
\r
13 #ifdef INCLUDE_PROFILER
\r
14 extern FILE *profiler_output_file;
\r
15 extern unsigned int profiler_event_counter;
\r
18 class ProcessWrapper : virtual public dol_sched_if, public sc_module
\r
21 ProcessWrapper(sc_module_name name);
\r
22 virtual ~ProcessWrapper();
\r
23 virtual void initialize();
\r
25 virtual bool isDetached() { return _isDetached; }
\r
26 virtual void detach();
\r
27 virtual int getIndex(unsigned indexNumber) const;
\r
28 virtual char* getName() const;
\r
30 #ifdef INCLUDE_PROFILER
\r
31 virtual void addToProfile(const char *event, void *port,
\r
35 #ifdef INCLUDE_TRACE
\r
38 char channel_name[NAME_LENGTH];
\r
41 #ifdef INCLUDE_PERFORMANCE
\r
44 CURRENT_TIME start_time;
\r
45 CURRENT_TIME end_time;
\r
50 DOLProcess _process;
\r
52 int _iteratorIndex[4];
\r
53 virtual int getIndex(const char* string, char* tokens,
\r
54 int indexNumber) const;
\r