view LightClone/Source/Trace.h @ 72:9a9be3d8632e

Remove reference to World.h
author koryspansel
date Tue, 11 Oct 2011 13:49:40 -0700
parents 4663f93aefc4
children
line wrap: on
line source

/*
 * Trace
 */

#ifndef __TRACE_H__
#define __TRACE_H__

#include "Types.h"

#if defined(TRACE_ENABLE)

/*
 * TraceFlag
 */
enum
{
	TraceFlag_Debug		= 1 << 0,
	TraceFlag_Console	= 1 << 1,
	TraceFlag_File		= 1 << 2,
};

/*
 * TRACE
 */
#define TRACE(pFormat, ...) PerformTrace(pFormat, __VA_ARGS__)

/*
 * InitializeTrace
 */
ErrorCode InitializeTrace(uint32 nFlags);

/*
 * TerminateTrace
 */
void TerminateTrace();

/*
 * PerformTrace
 */
void PerformTrace(const char* pFormat, ...);

/*
 * TraceHandler
 */
class TraceHandler
{
public:

	/*
	 * ~TraceHandler
	 */
	virtual ~TraceHandler()
	{
	}

	/*
	 * Trace
	 */
	virtual void Trace(const char* pBuffer, uint32 nSize) = 0;
};

#else

/*
 * TRACE
 */
#define TRACE(...)

/*
 * InitializeTrace
 */
ErrorCode InitializeTrace(uint32)
{
	return Error_Success;
}

/*
 * TerminateTrace
 */
void TerminateTrace()
{
}

#endif

#endif //__TRACE_H__