//+---------------------------------------------------------------------------- // // File: // davedbg.h // // Contents: // A debug trace class // // Classes: // TraceLog // // History: // 04-Sep-94 davepl Created // //----------------------------------------------------------------------------- const ULONG MAX_ARGS = 20; const ULONG MAX_BUF = 255; typedef enum tagGROUPSET { GS_CACHE = 0x000000001 } GROUPSET; typedef enum tagDVARTYPE { NO_TYPE = 0x0000, LONG_TYPE = 0x0001, SHORT_TYPE = 0x0002, INT_TYPE = 0x0004, CHAR_TYPE = 0x0008, STRING_TYPE = 0x0010, FLOAT_TYPE = 0x0020, COMMA_TYPE = 0x0040, MSG_TYPE = 0x0080, PTR_TYPE = 0x0100, HEXINT_TYPE = 0x0200 } DVARTYPE; inline DVARTYPE operator |= (DVARTYPE & vtORON, const DVARTYPE vtORBY) { return (vtORON = (DVARTYPE)((int) vtORON | (int) vtORBY)); } typedef enum tagVERBOSITY { VB_SILENT = 0x0000, VB_MINIMAL = 0x0001, VB_MODERATE = 0x0002, VB_MAXIMUM = 0x0004 } VERBOSITY; class TraceLog { public: TraceLog (void *, char *, GROUPSET, VERBOSITY); ~TraceLog(); void OnEntry(); void OnEntry(char * pszFormat, ...); void OnExit (const char * pszFormat, ...); private: char m_pszFormat[ MAX_BUF ]; void *m_aPtr[ MAX_ARGS ]; BYTE m_cArgs; BOOL m_fShouldDisplay; void *m_pvThat; char m_pszFunction[MAX_BUF]; };