Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

tracer.h

Go to the documentation of this file.
00001 #ifndef TRACER_H 00002 #define TRACER_H 00003 00004 #if defined(NDEBUG) 00005 /* Release version: do nothing */ 00006 00007 #define TR_MODULE(name) 00008 #define TR_SET_CONFIG(xml_node) 00009 #define TR_GET_CONFIG(xml_node) 00010 #define TR_SHOW() 00011 #define TR_HIDE() 00012 #define TR_ENTER() 00013 #define TR_LEAVE() 00014 #define TR_RET(value) return value 00015 #define TR_RETURN() return 00016 #define TR 00017 00018 #else 00019 00020 #include "TraceManager.h" 00021 00022 extern CTraceManager TraceManager; 00023 00024 #if defined(__GNUC__) 00025 #define FUNCNAME __PRETTY_FUNCTION__ 00026 #elif defined(_MSC_VER) 00027 #define FUNCNAME __FILE__,__LINE__ 00028 #else 00029 #error Compiler not supported (neither GNU C or Microsoft Visual Studio) 00030 #endif 00031 00032 /* Debug version */ 00033 #define TR_MODULE(name) static CTraceModule *s_trace_module = CTraceManager::Instance()->RegisterModule(name) 00034 00035 #define TR_SET_CONFIG(xml_node) CTraceManager::Instance()->SetConfiguration(xml_node) 00036 #define TR_GET_CONFIG(xml_node) CTraceManager::Instance()->GetConfiguration(xml_node) 00037 00038 #define TR_SHOW() CTraceManager::Instance()->Show() 00039 #define TR_HIDE() CTraceManager::Instance()->Hide() 00040 00041 #define TR_ENTER() s_trace_module->Enter(FUNCNAME) 00042 #define TR_LEAVE() s_trace_module->Leave(FUNCNAME) 00043 #define TR_RET(value)\ 00044 {\ 00045 s_trace_module->Leave(FUNCNAME);\ 00046 return value;\ 00047 } 00048 #define TR_RETURN()\ 00049 {\ 00050 s_trace_module->Leave(FUNCNAME);\ 00051 return;\ 00052 } 00053 #define TR s_trace_module->Log 00054 #endif 00055 00056 #endif

Generated on Wed Dec 13 23:38:46 2006 for CamStream by doxygen 1.3.7