mirror of
https://github.com/dege-diosg/dgVoodoo2
synced 2024-07-08 20:51:02 +02:00
106 lines
2.2 KiB
C++
106 lines
2.2 KiB
C++
// *****************************************************************************
|
|
// 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
|