4924d7a163ba70df486b9f9151c830d1338b9d32
[ctsim.git] / include / trace.h
1 #ifndef TRACE_H
2 #define TRACE_H
3
4
5 class Trace
6 {
7  public:
8     static const int TRACE_INVALID;
9     static const int TRACE_NONE;
10     static const int TRACE_CONSOLE;
11     static const int TRACE_PHANTOM;
12     static const int TRACE_PROJECTIONS;
13     static const int TRACE_PLOT;
14     static const int TRACE_CLIPPING;
15     
16     static const int BIT_CONSOLE;
17     static const int BIT_PHANTOM;
18     static const int BIT_PROJECTIONS;
19     static const int BIT_PLOT;
20     static const int BIT_CLIPPING;
21
22   Trace (const char* const traceString);
23   
24   void addTrace (const char* const traceString);
25   
26   bool isTrace (const char* const traceQuery) const;
27   
28   int getTraceLevel(void) const { return m_traceLevel; }
29   
30   static int convertTraceNameToID (const char* traceName);
31   static const char* convertTraceIDToTitle (int idTrace);
32   static const char* convertTraceIDToName (int idTrace);
33   
34   static const int getTraceCount() {return s_iTraceCount;}
35   static const char** getTraceNameArray() {return s_aszTraceName;}
36   static const char** getTraceTitleArray() {return s_aszTraceTitle;}
37
38  private:
39   
40   int m_traceLevel;
41   
42   bool addTraceElements (const char* const traceString);
43
44   static const char* s_aszTraceName[];
45   static const char* s_aszTraceTitle[];
46   static const int s_iTraceCount;
47
48 };
49
50
51 #endif
52