00001
00002
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00022
00028 #ifndef _exotkTrace_Root_HeaderFile
00029 #define _exotkTrace_Root_HeaderFile
00030
00031 #if _MSC_VER > 1000
00032 #pragma once
00033 #endif // _MSC_VER > 1000
00034
00035 #ifndef _Handle_exotkTrace_Root_HeaderFile
00036 #include <Handle_exotkTrace_Root.hxx>
00037 #endif
00038 #ifndef _MMgt_TShared_HeaderFile
00039 #include <MMgt_TShared.hxx>
00040 #endif
00041 #ifndef _Standard_DefineHandle_HeaderFile
00042 #include <Standard_DefineHandle.hxx>
00043 #endif
00044 #ifndef _exotkTrace_Level_HeaderFile
00045 #include <exotkTrace_Level.hxx>
00046 #endif
00047 #ifndef _exotkTrace_QueueOfLogMessage_HeaderFile
00048 #include <exotkTrace_QueueOfLogMessage.hxx>
00049 #endif
00050
00056 class exotkTrace_Root : public MMgt_TShared
00057 {
00058 friend class exotkTrace_MultipleRoot;
00059 public:
00060
00068 inline void* operator new(size_t,void* anAddress)
00069 {
00070 return anAddress;
00071 }
00072
00079 inline void* operator new(size_t size)
00080 {
00081 return Standard::Allocate(size);
00082 }
00083
00090 inline void operator delete(void *anAddress)
00091 {
00092 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00093 }
00094
00099 Standard_EXPORT virtual ~exotkTrace_Root();
00100
00106 Standard_EXPORT virtual exotkTrace_Level Level();
00107
00114 Standard_EXPORT virtual exotkTrace_Level SetLevel(const enum exotkTrace_Level aLevel);
00115
00121 Standard_EXPORT virtual Standard_Boolean IsValid() = 0;
00122
00129 Standard_EXPORT virtual void Trace(const enum exotkTrace_Level aLevel,const Standard_CString aString);
00130
00136 virtual void Error(const Standard_CString anError) { Trace(exotkTrace_Error,anError);};
00137
00143 virtual void Warning(const Standard_CString aWarning) { Trace(exotkTrace_Warning,aWarning);};
00144
00150 virtual void Info(const Standard_CString anInfo) { Trace(exotkTrace_Info,anInfo);};
00151
00157 virtual void Verbose(const Standard_CString aVerbose) { Trace(exotkTrace_Verbose,aVerbose);};
00158
00164 virtual void Quiet(const Standard_CString aQuiet) { Trace(exotkTrace_Quiet,aQuiet);};
00165
00171 virtual void Debug(const Standard_CString aDebug) { Trace(exotkTrace_Debug,aDebug);};
00172
00173 DEFINE_STANDARD_RTTI(exotkTrace_Root)
00174 protected:
00181 Standard_EXPORT virtual void Print(const enum exotkTrace_Level aLevel,const Standard_CString aString)=0;
00182
00187 Standard_EXPORT virtual void TraceQueue();
00188
00193 Standard_EXPORT exotkTrace_Root();
00195 exotkTrace_Level myLevel;
00197 exotkTrace_QueueOfLogMessage myQueue;
00198 };
00199
00200 #endif