//----------------------------------------------------------------------------- // File: cfguitrace.h // // Desc: Contains all trace functionalities used by the UI. // Define __CFGUI_TRACE__TO_FILE to have output written to a file. // Define __CFGUI_TRACE__TO_DEBUG_OUT to direct output to a debugger. // These two symbols can coexist, and are defined in defines.h. // // Copyright (C) 1999-2000 Microsoft Corporation. All Rights Reserved. //----------------------------------------------------------------------------- #ifndef __CFGUI_TRACE_H__ #define __CFGUI_TRACE_H__ #ifdef UNICODE #define _tfWSTR _T("%s") #define _tfSTR _T("%S") #else #define _tfWSTR _T("%S") #define _tfSTR _T("%s") #endif enum __cfgui_tracetype { __cfgui_tracetype_ERROR, __cfgui_tracetype_INFO, }; #ifdef NTRACE #define tracescope(t,s) (void(0)) #define etrace(a) (void(0)) #define etrace1(a,b) (void(0)) #define etrace2(a,b,c) (void(0)) #define etrace3(a,b,c,d) (void(0)) #define etrace4(a,b,c,d,e) (void(0)) #define etrace5(a,b,c,d,e,f) (void(0)) #define etrace6(a,b,c,d,e,f,g) (void(0)) #define etrace7(a,b,c,d,e,f,g,h) (void(0)) #define trace(a) (void(0)) #define trace1(a,b) (void(0)) #define trace2(a,b,c) (void(0)) #define trace3(a,b,c,d) (void(0)) #define trace4(a,b,c,d,e) (void(0)) #define trace5(a,b,c,d,e,f) (void(0)) #define trace6(a,b,c,d,e,f,g) (void(0)) #define trace7(a,b,c,d,e,f,g,h) (void(0)) #define traceDWORD(v) (void(0)) #define traceUINT(v) (void(0)) #define traceLONG(v) (void(0)) #define traceHEX(v) (void(0)) #define traceHEXPTR(v) (void(0)) #define traceWSTR(v) (void(0)) #define traceSTR(v) (void(0)) #define traceTSTR(v) (void(0)) #define traceGUID(v) (void(0)) #define traceBOOL(v) (void(0)) #define tracePOINT(v) (void(0)) #define traceSIZE(v) (void(0)) #define traceRECT(v) (void(0)) #define traceRECTDIM(v) (void(0)) #define traceSUPERSTR(v) (void(0)) #else void __cfgui_trace(__cfgui_tracetype, LPCTSTR, ...); class __cfgui_out_filescope { friend class __cfgui_tracescope; __cfgui_out_filescope(bool bInternal = false); ~__cfgui_out_filescope(); friend void __cfgui_trace(__cfgui_tracetype, LPCTSTR, ...); bool m_bInternal; }; class __cfgui_tracescope { __cfgui_out_filescope fs; public: __cfgui_tracescope(LPCTSTR); ~__cfgui_tracescope(); }; #define tracescope(t,s) __cfgui_tracescope t(s) #define etrace(a) __cfgui_trace(__cfgui_tracetype_ERROR, a) #define etrace1(a,b) __cfgui_trace(__cfgui_tracetype_ERROR, a,b) #define etrace2(a,b,c) __cfgui_trace(__cfgui_tracetype_ERROR, a,b,c) #define etrace3(a,b,c,d) __cfgui_trace(__cfgui_tracetype_ERROR, a,b,c,d) #define etrace4(a,b,c,d,e) __cfgui_trace(__cfgui_tracetype_ERROR, a,b,c,d,e) #define etrace5(a,b,c,d,e,f) __cfgui_trace(__cfgui_tracetype_ERROR, a,b,c,d,e,f) #define etrace6(a,b,c,d,e,f,g) __cfgui_trace(__cfgui_tracetype_ERROR, a,b,c,d,e,f,g) #define etrace7(a,b,c,d,e,f,g,h) __cfgui_trace(__cfgui_tracetype_ERROR, a,b,c,d,e,f,g,h) #define trace(a) __cfgui_trace(__cfgui_tracetype_INFO, a) #define trace1(a,b) __cfgui_trace(__cfgui_tracetype_INFO, a,b) #define trace2(a,b,c) __cfgui_trace(__cfgui_tracetype_INFO, a,b,c) #define trace3(a,b,c,d) __cfgui_trace(__cfgui_tracetype_INFO, a,b,c,d) #define trace4(a,b,c,d,e) __cfgui_trace(__cfgui_tracetype_INFO, a,b,c,d,e) #define trace5(a,b,c,d,e,f) __cfgui_trace(__cfgui_tracetype_INFO, a,b,c,d,e,f) #define trace6(a,b,c,d,e,f,g) __cfgui_trace(__cfgui_tracetype_INFO, a,b,c,d,e,f,g) #define trace7(a,b,c,d,e,f,g,h) __cfgui_trace(__cfgui_tracetype_INFO, a,b,c,d,e,f,g,h) #define traceDWORD(v) trace1(_T(#v) _T(" = %u\n"), v) #define traceUINT(v) trace1(_T(#v) _T(" = %u\n"), v) #define traceLONG(v) trace1(_T(#v) _T(" = %d\n"), v) #define traceHEX(v) trace1(_T(#v) _T(" = 0x%08x\n"), v) #define traceHEXPTR(v) trace1(_T(#v) _T(" = 0x%p\n"), v) #define traceWSTR(v) traceTSTR(v) #define traceSTR(v) traceTSTR(v) #define traceTSTR(v) trace1(_T(#v) _T(" = %s\n"), QSAFESTR(v)) #define traceGUID(v) trace1(_T(#v) _T(" = %s\n"), GUIDSTR(v)) #define traceBOOL(v) trace1(_T(#v) _T(" = %s\n"), BOOLSTR(v)) #define tracePOINT(v) trace1(_T(#v) _T(" = %s\n"), POINTSTR(v)) #define traceSIZE(v) trace1(_T(#v) _T(" = %s\n"), SIZESTR(v)) #define traceRECT(v) trace1(_T(#v) _T(" = %s\n"), RECTSTR(v)) #define traceRECTDIM(v) trace1(_T(#v) _T(" = %s\n"), RECTDIMSTR(v)) #define traceSUPERSTR(v) trace1(_T(#v) _T(" = %s\n"), SUPERSTR(v)) #endif #endif //__CFGUI_TRACE_H__