Index: src/libchcore/SerializerTrace.h =================================================================== diff -u -r5693271a6736f524997e3951fc7b7b6323bc6447 -rc8e73b75027d5e17fb8b1e1eb40e64f40fc62547 --- src/libchcore/SerializerTrace.h (.../SerializerTrace.h) (revision 5693271a6736f524997e3951fc7b7b6323bc6447) +++ src/libchcore/SerializerTrace.h (.../SerializerTrace.h) (revision c8e73b75027d5e17fb8b1e1eb40e64f40fc62547) @@ -20,31 +20,81 @@ #define __SERIALIZERTRACE_H__ #include +#include +// enables tracing +#define ENABLE_TRACE + +// general tracking +#define TRACK_GENERAL + +// db-related tracking #define TRACK_DB_QUERIES //#define TRACK_DB_QUERIES_DETAILED +#ifdef ENABLE_TRACE + inline void trace0(PCTSTR pszFmt) + { + OutputDebugString(pszFmt); + } + + template + inline void trace1(PCTSTR pszFmt, const T& tData) + { + CString strVal; + strVal.Format(pszFmt, tData); + OutputDebugString((PCTSTR)strVal); + } + + template + inline void trace2(PCTSTR pszFmt, const T1& tData1, const T2& tData2) + { + CString strVal; + strVal.Format(pszFmt, tData1, tData2); + OutputDebugString((PCTSTR)strVal); + } + + #define MYTRACE0 trace0 + #define MYTRACE1 trace1 + #define MYTRACE2 trace2 +#else + #define MYTRACE0(fmt) __noop + #define MYTRACE1(fmt, val) __noop + #define MYTRACE2(fmt, val1, val2) __noop +#endif + +#ifdef TRACK_GENERAL + #define GTRACE0 MYTRACE0 + #define GTRACE1 MYTRACE1 + #define GTRACE2 MYTRACE2 +#else + #define GTRACE0(fmt) __noop + #define GTRACE1(fmt, val) __noop + #define GTRACE2(fmt, val1, val2) __noop +#endif + + #ifdef TRACK_DB_QUERIES - #define DBTRACE(fmt, val) ATLTRACE(fmt, val) - #define DBTRACE0(fmt) ATLTRACE(fmt) - #define DBTRACE2(fmt, val1, val2) ATLTRACE(fmt, val1, val2) + #define DBTRACE0 MYTRACE0 + #define DBTRACE1 MYTRACE1 + #define DBTRACE2 MYTRACE2 #ifdef TRACK_DB_QUERIES_DETAILED - #define DBTRACE_D(fmt, val) ATLTRACE(fmt, val) - #define DBTRACE0_D(fmt) ATLTRACE(fmt) - #define DBTRACE2_D(fmt, val1, val2) ATLTRACE(fmt, val1, val2) + #define DBTRACE0_D MYTRACE0 + #define DBTRACE1_D MYTRACE1 + #define DBTRACE2_D MYTRACE2 #else - #define DBTRACE_D(fmt, val) __noop; #define DBTRACE0_D(fmt) __noop - #define DBTRACE2_D(fmt, val1, val2) __noop; + #define DBTRACE1_D(fmt, val) __noop + #define DBTRACE2_D(fmt, val1, val2) __noop #endif #else - #define DBTRACE(fmt, val) __noop; #define DBTRACE0(fmt) __noop - #define DBTRACE2(fmt, val1, val2) __noop; - #define DBTRACE_D(fmt, val) __noop; + #define DBTRACE1(fmt, val) __noop + #define DBTRACE2(fmt, val1, val2) __noop #define DBTRACE0_D(fmt) __noop - #define DBTRACE2_D(fmt, val1, val2) __noop; + #define DBTRACE1_D(fmt, val) __noop + #define DBTRACE2_D(fmt, val1, val2) __noop #endif #endif