Files
FC1/CryCommon/IValidator.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

93 lines
2.4 KiB
C

////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2002.
// -------------------------------------------------------------------------
// File name: ivalidator.h
// Version: v1.00
// Created: 3/6/2003 by Timur.
// Compilers: Visual Studio.NET
// Description: IValidator interface used to check objects for warnings and errors
// Report missing resources or invalid files.
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __ivalidator_h__
#define __ivalidator_h__
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define MAX_WARNING_LENGTH 4096
enum EValidatorSeverity
{
VALIDATOR_ERROR,
VALIDATOR_WARNING,
VALIDATOR_COMMENT
};
enum EValidatorModule
{
VALIDATOR_MODULE_UNKNOWN,
VALIDATOR_MODULE_RENDERER,
VALIDATOR_MODULE_3DENGINE,
VALIDATOR_MODULE_AI,
VALIDATOR_MODULE_ANIMATION,
VALIDATOR_MODULE_ENTITYSYSTEM,
VALIDATOR_MODULE_SCRIPTSYSTEM,
VALIDATOR_MODULE_SYSTEM,
VALIDATOR_MODULE_SOUNDSYSTEM,
VALIDATOR_MODULE_GAME,
VALIDATOR_MODULE_MOVIE,
VALIDATOR_MODULE_EDITOR
};
enum EValidatorFlags
{
VALIDATOR_FLAG_FILE = 0x0001, // Indicate that required file was not found or file was invalid.
VALIDATOR_FLAG_TEXTURE = 0x0002, // Problem with texture.
VALIDATOR_FLAG_SCRIPT = 0x0004, // Problem with script.
VALIDATOR_FLAG_SOUND = 0x0008, // Problem with sound.
VALIDATOR_FLAG_AI = 0x0010, // Problem with AI.
};
struct SValidatorRecord
{
//! Severety of this error.
EValidatorSeverity severity;
//! In which module error occured.
EValidatorModule module;
//! Error Text.
const char *text;
//! File which is missing or causing problem.
const char *file;
//! Additional description for this error.
const char *description;
//! Flags that suggest kind of error.
int flags;
//////////////////////////////////////////////////////////////////////////
SValidatorRecord()
{
module = VALIDATOR_MODULE_UNKNOWN;
text = NULL;
file = NULL;
description = NULL;
severity = VALIDATOR_WARNING;
flags = 0;
}
};
/*! This interface will be givven to Validate methods of engine, for resources and objects validation.
*/
struct IValidator
{
virtual void Report( SValidatorRecord &record ) = 0;
};
#endif // __ivalidator_h__