1
0
mirror of https://github.com/dege-diosg/dgVoodoo2 synced 2024-07-08 20:51:02 +02:00
dgVoodoo2/dgVoodooAPI/Inc/APIDebugObj.hpp

106 lines
2.2 KiB
C++
Raw Permalink Normal View History

// *****************************************************************************
// File: APIDebugObj.hpp
//
// Description: Debug object for logging and debugging
//
// Contact person: DG
//
// *****************************************************************************
#ifndef APIDEBUGOBJ_HPP
#define APIDEBUGOBJ_HPP
// --- Includes ----------------------------------------------------------------
#include "APITypes.h"
// --- Predeclarations ---------------------------------------------------------
namespace dgVoodoo {
class IAPIDataStream;
// --- Debug -------------------------------------------------------------------
struct APIDebugObj
{
enum InfoLevel
{
DisableInfo = 0,
EnableInfo,
EnableInfoAndBreak
};
enum WarningLevel
{
DisableWarning = 0,
EnableWarning,
EnableWarningAndBreak
};
enum ErrorLevel
{
DisableError = 0,
EnableError,
EnableErrorAndBreak
};
InfoLevel infoLevel;
WarningLevel warningLevel;
ErrorLevel errorLevel;
const char* pPrefixString;
UInt32 maxTraceLevel;
IAPIDataStream* pOutputStream;
InfoLevel inline GetInfoLevel () const
{
return infoLevel;
}
WarningLevel inline GetWarningLevel () const
{
return warningLevel;
}
ErrorLevel inline GetErrorLevel () const
{
return errorLevel;
}
UInt32 inline GetMaxTraceLevel () const
{
return maxTraceLevel;
}
void inline SetDebugInfo (InfoLevel _infoLevel, WarningLevel _warningLevel, ErrorLevel _errorLevel,
const char* _pPrefixString, UInt32 _maxTraceLevel, IAPIDataStream* _pOutputStream = NULL)
{
infoLevel = _infoLevel;
warningLevel = _warningLevel;
errorLevel = _errorLevel;
pPrefixString = _pPrefixString;
maxTraceLevel = _maxTraceLevel;
pOutputStream = _pOutputStream;
}
APIDebugObj (InfoLevel _infoLevel, WarningLevel _warningLevel, ErrorLevel _errorLevel,
const char* _pPrefixString, UInt32 _maxTraceLevel, IAPIDataStream* _pOutputStream = NULL):
infoLevel (_infoLevel),
warningLevel (_warningLevel),
errorLevel (_errorLevel),
pPrefixString (_pPrefixString),
maxTraceLevel (_maxTraceLevel),
pOutputStream (_pOutputStream)
{
}
};
} // namespace dgVoodoo
#endif // !APIDEBUGOBJ_HPP