55 lines
1.4 KiB
C++
55 lines
1.4 KiB
C++
/////////////////////////////////////////////////////////////////////////
|
|
// Copyright © 2006 Microsoft Corporation. All rights reserved.
|
|
//
|
|
// This file may contain preliminary information or inaccuracies,
|
|
// and may not correctly represent any associated Microsoft
|
|
// Product as commercially released. All Materials are provided entirely
|
|
// “AS IS.” To the extent permitted by law, MICROSOFT MAKES NO
|
|
// WARRANTY OF ANY KIND, DISCLAIMS ALL EXPRESS, IMPLIED AND STATUTORY
|
|
// WARRANTIES, AND ASSUMES NO LIABILITY TO YOU FOR ANY DAMAGES OF
|
|
// ANY TYPE IN CONNECTION WITH THESE MATERIALS OR ANY INTELLECTUAL PROPERTY IN THEM.
|
|
//
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////
|
|
// Generic tracing/logger class
|
|
//
|
|
|
|
|
|
// Very simple tracing/logging class
|
|
class FunctionTracer
|
|
{
|
|
public:
|
|
FunctionTracer(wstring fileName, INT lineNumber, wstring functionName);
|
|
~FunctionTracer();
|
|
|
|
// tracing routine
|
|
void Trace(wstring file, int line, wstring functionName, wstring format, ...);
|
|
|
|
// console logging routine
|
|
void WriteLine(wstring format, ...);
|
|
|
|
// Converts a HRESULT into a printable message
|
|
static wstring HResult2String(HRESULT hrError);
|
|
|
|
// Enables tracing
|
|
static void EnableTracingMode();
|
|
|
|
private:
|
|
|
|
//
|
|
// Data members
|
|
//
|
|
|
|
static bool m_traceEnabled;
|
|
|
|
wstring m_fileName;
|
|
int m_lineNumber;
|
|
wstring m_functionName;
|
|
|
|
};
|
|
|