tracer.h
Go to the documentation of this file.00001
#ifndef TRACER_H
00002
#define TRACER_H
00003
00004
#if defined(NDEBUG)
00005
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
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
1.3.7