FUError Class Reference
[Utility Classes.]

This class deals with error message generated by FCollada. More...

#include <FUError.h>

List of all members.

Public Types

typedef IFunctor3< FUError::Level,
uint32, uint32, void > 
FUErrorFunctor
 Callback functor definition.
enum  Code {
  ERROR_DEFAULT_ERROR = 0,
  ERROR_MALFORMED_XML,
  ERROR_PARSING_FAILED,
  ERROR_INVALID_ELEMENT,
  ERROR_MISSING_ELEMENT,
  ERROR_UNKNOWN_ELEMENT,
  ERROR_MISSING_INPUT,
  ERROR_INVALID_URI,
  ERROR_WRITE_FILE,
  ERROR_MISSING_PROPERTY,
  NO_MATCHING_PLUGIN,
  ERROR_ANIM_CURVE_DRIVER_MISSING,
  ERROR_SOURCE_SIZE,
  ERROR_IB_MATRIX_MISSING,
  ERROR_VCOUNT_MISSING,
  ERROR_V_ELEMENT_MISSING,
  ERROR_JC_BPMC_NOT_EQUAL,
  ERROR_INVALID_VCOUNT,
  ERROR_PARSING_PROG_ERROR,
  ERROR_UNKNOWN_CHILD,
  ERROR_UNKNOWN_GEO_CH,
  ERROR_UNKNOWN_MESH_ID,
  ERROR_INVALID_U_KNOT,
  ERROR_INVALID_V_KNOT,
  ERROR_NOT_ENOUGHT_V_KNOT,
  ERROR_NOT_ENOUGHT_U_KNOT,
  ERROR_INVALID_CONTROL_VERTICES,
  ERROR_NO_CONTROL_VERTICES,
  ERROR_UNKNOWN_POLYGONS,
  WARNING_NO_POLYGON,
  ERROR_NO_VERTEX_INPUT,
  ERROR_NO_VCOUNT,
  ERROR_MISPLACED_VCOUNT,
  ERROR_UNKNOWN_PH_ELEMENT,
  ERROR_INVALID_FACE_COUNT,
  ERROR_DUPLICATE_ID,
  ERROR_INVALID_CVS_WEIGHTS,
  ERROR_INVALID_SPLINE,
  ERROR_UNKNOWN_EFFECT_CODE,
  ERROR_BAD_FLOAT_VALUE,
  ERROR_BAD_BOOLEAN_VALUE,
  ERROR_BAD_FLOAT_PARAM,
  ERROR_BAD_FLOAT_PARAM2,
  ERROR_BAD_FLOAT_PARAM3,
  ERROR_BAD_FLOAT_PARAM4,
  ERROR_BAD_MATRIX,
  ERROR_PROG_NODE_MISSING,
  ERROR_INVALID_TEXTURE_SAMPLER,
  ERROR_PARAM_NODE_MISSING,
  ERROR_INVALID_IMAGE_FILENAME,
  ERROR_UNKNOWN_TEXTURE_SAMPLER,
  ERROR_COMMON_TECHNIQUE_MISSING,
  ERROR_TECHNIQUE_NODE_MISSING,
  ERROR_PHYSICS_MODEL_CYCLE_DETECTED,
  ERROR_MAX_CANNOT_RESIZE_MUT_LIST,
  WARNING_UNSUPPORTED_TEXTURE_UVS,
  WARNING_MISSING_URI_TARGET,
  WARNING_UNKNOWN_CHILD_ELEMENT,
  WARNING_UNKNOWN_AC_CHILD_ELEMENT,
  WARNING_BASE_NODE_TYPE,
  WARNING_INST_ENTITY_MISSING,
  WARNING_INVALID_MATERIAL_BINDING,
  WARNING_UNKNOWN_MAT_ID,
  WARNING_RIGID_CONSTRAINT_MISSING,
  WARNING_INVALID_ANIM_LIB,
  WARNING_INVALID_ANIM_TARGET,
  WARNING_UNKNOWN_ANIM_LIB_ELEMENT,
  WARNING_INVALID_SE_PAIR,
  WARNING_CURVES_MISSING,
  WARNING_EMPTY_ANIM_CLIP,
  WARNING_UNKNOWN_CAM_ELEMENT,
  WARNING_NO_STD_PROG_TYPE,
  WARNING_PARAM_ROOT_MISSING,
  WARNING_UNKNOWN_CAM_PROG_TYPE,
  WARNING_UNKNOWN_CAM_PARAM,
  WARNING_UNKNOWN_LIGHT_LIB_ELEMENT,
  WARNING_UNKNOWN_LIGHT_TYPE_VALUE,
  WARNING_UNKNOWN_LT_ELEMENT,
  WARNING_UNKNOWN_LIGHT_PROG_PARAM,
  WARNING_INVALID_CONTROLLER_LIB_NODE,
  WARNING_CONTROLLER_TYPE_CONFLICT,
  WARNING_SM_BASE_MISSING,
  WARNING_UNKNOWN_MC_PROC_METHOD,
  WARNING_UNKNOWN_MC_BASE_TARGET_MISSING,
  WARNING_UNKNOWN_MORPH_TARGET_TYPE,
  WARNING_TARGET_GEOMETRY_MISSING,
  WARNING_CONTROLLER_TARGET_MISSING,
  WARNING_UNKNOWN_SC_VERTEX_INPUT,
  WARNING_INVALID_TARGET_GEOMETRY_OP,
  WARNING_INVALID_JOINT_INDEX,
  WARNING_INVALID_WEIGHT_INDEX,
  WARNING_UNKNOWN_JOINT,
  WARNING_UNKNOWN_GL_ELEMENT,
  WARNING_EMPTY_GEOMETRY,
  WARNING_MESH_VERTICES_MISSING,
  WARNING_VP_INPUT_NODE_MISSING,
  WARNING_GEOMETRY_VERTICES_MISSING,
  WARNING_MESH_TESSELLATION_MISSING,
  WARNING_INVALID_POLYGON_MAT_SYMBOL,
  WARNING_EXTRA_VERTEX_INPUT,
  WARNING_UNKNOWN_POLYGONS_INPUT,
  WARNING_UNKNOWN_POLYGON_CHILD,
  WARNING_INVALID_PRIMITIVE_COUNT,
  WARNING_INVALID_GEOMETRY_SOURCE_ID,
  WARNING_EMPTY_SOURCE,
  WARNING_EMPTY_POLYGONS,
  WARNING_SPLINE_CONTROL_INPUT_MISSING,
  WARNING_CONTROL_VERTICES_MISSING,
  WARNING_VARYING_SPLINE_TYPE,
  WARNING_UNKNOWN_EFFECT_ELEMENT,
  WARNING_UNSUPPORTED_PROFILE,
  WARNING_SID_MISSING,
  WARNING_INVALID_ANNO_TYPE,
  WARNING_GEN_REF_ATTRIBUTE_MISSING,
  WARNING_MOD_REF_ATTRIBUTE_MISSING,
  WARNING_SAMPLER_NODE_MISSING,
  WARNING_EMPTY_SURFACE_SOURCE,
  WARNING_EMPTY_INIT_FROM,
  WARNING_EMPTY_IMAGE_NAME,
  WARNING_UNKNOWN_PASS_ELEMENT,
  WARNING_UNKNOWN_PASS_SHADER_ELEMENT,
  WARNING_UNAMED_EFFECT_PASS_SHADER,
  WARNING_UNKNOWN_EPS_STAGE,
  WARNING_INVALID_PROFILE_INPUT_NODE,
  WARNING_UNKNOWN_STD_MAT_BASE_ELEMENT,
  WARNING_TECHNIQUE_MISSING,
  WARNING_UNKNOWN_MAT_INPUT_SEMANTIC,
  WARNING_UNKNOWN_INPUT_TEXTURE,
  WARNING_UNSUPPORTED_SHADER_TYPE,
  WARNING_UNKNOWN_MAT_PARAM_NAME,
  WARNING_UNKNOWN_TECHNIQUE_ELEMENT,
  WARNING_UNKNOWN_IMAGE_LIB_ELEMENT,
  WARNING_UNKNOWN_TEX_LIB_ELEMENT,
  WARNING_UNKNOWN_CHANNEL_USAGE,
  WARNING_UNKNOWN_INPUTE_SEMANTIC,
  WARNING_UNKNOWN_IMAGE_SOURCE,
  WARNING_UNKNOWN_MAT_LIB_ELEMENT,
  WARNING_UNSUPPORTED_REF_EFFECTS,
  WARNING_EMPTY_INSTANCE_EFFECT,
  WARNING_EFFECT_MISSING,
  WARNING_UNKNOWN_FORCE_FIELD_ELEMENT,
  WARNING_UNKNOWN_ELEMENT,
  WARNING_INVALID_BOX_TYPE,
  WARNING_INVALID_PLANE_TYPE,
  WARNING_INVALID_SPHERE_TYPE,
  WARNING_INVALID_CAPSULE_TYPE,
  WARNING_INVALID_TCAPSULE_TYPE,
  WARNING_INVALID_TCYLINDER_TYPE,
  WARNING_UNKNOWN_PHYS_MAT_LIB_ELEMENT,
  WARNING_UNKNOWN_PHYS_LIB_ELEMENT,
  WARNING_CORRUPTED_INSTANCE,
  WARNING_UNKNOWN_PRB_LIB_ELEMENT,
  WARNING_PHYS_MAT_INST_MISSING,
  WARNING_PHYS_MAT_DEF_MISSING,
  WARNING_UNKNOWN_RGC_LIB_ELEMENT,
  WARNING_INVALID_NODE_TRANSFORM,
  WARNING_RF_NODE_MISSING,
  WARNING_RF_REF_NODE_MISSING,
  WARNING_TARGET_BS_NODE_MISSING,
  WARNING_TARGE_BS_REF_NODE_MISSING,
  WARNING_UNKNOW_PS_LIB_ELEMENT,
  WARNING_FCDGEOMETRY_INST_MISSING,
  WARNING_INVALID_SHAPE_NODE,
  WARNING_SHAPE_NODE_MISSING,
  WARNING_UNKNOW_NODE_ELEMENT_TYPE,
  WARNING_CYCLE_DETECTED,
  WARNING_INVALID_NODE_INST,
  WARNING_INVALID_WEAK_NODE_INST,
  WARNING_UNSUPPORTED_EXTERN_REF,
  WARNING_UNEXPECTED_ASSET,
  WARNING_INVALID_TRANSFORM,
  WARNING_TARGET_SCENE_NODE_MISSING,
  WARNING_UNSUPPORTED_EXTERN_REF_NODE,
  WARNING_XREF_UNASSIGNED,
  WARNING_MASS_AND_DENSITY_MISSING,
  DEBUG_LOAD_SUCCESSFUL,
  DEBUG_WRITE_SUCCESSFUL,
  ERROR_CUSTOM_STRING = 5000
}
 Error code used to retrieve localized error message.
enum  Level {
  DEBUG_LEVEL = 0,
  WARNING_LEVEL = 1,
  ERROR_LEVEL = 2,
  LEVEL_COUNT
}
 Error level defines supported error message levels in FCollada.

Static Public Member Functions

static bool Error (FUError::Level errorLevel, uint32 errorCode, uint32 line=0)
 Logs and error message.
static void AddErrorCallback (FUError::Level errorLevel, FUErrorFunctor *callback)
 Add callback for error messages.
template<class Class>
static void AddErrorCallback (FUError::Level errorLevel, Class *handle, void(Class::*_function)(FUError::Level, uint32, uint32))
 Adds a new callback that handles the event.
static void AddErrorCallback (FUError::Level errorLevel, void(*_function)(FUError::Level, uint32, uint32))
 Adds a new callback that handles the event.
static void RemoveErrorCallback (FUError::Level errorLevel, void *object, void *function)
 Removes and releases a callback for error messages.
template<class Class>
static void RemoveErrorCallback (FUError::Level errorLevel, Class *handle, void(Class::*_function)(FUError::Level, uint32, uint32))
 Removes and releases a callback for error messages.
static void RemoveErrorCallback (FUError::Level errorLevel, void(*_function)(FUError::Level, uint32, uint32))
 Removes and releases a static callback for error messages.
static const char * GetErrorString (FUError::Code errorCode)
 Retrieves the string description of the error code.
static void SetCustomErrorString (const char *customErrorString)
 Sets the error string for the custom error (ERROR_CUSTOM_STRING) Used mainly for the FUDebug structure.
static FUError::Level GetFatalityLevel ()
 Retrieves the level at which errors are considered fatal.
static void SetFatalityLevel (FUError::Level _fatalLevel)
 Sets the level at which errors will cancel the processing of a COLLADA document.


Detailed Description

This class deals with error message generated by FCollada.

The constructor and the destructor are private: this class is meant to be used as a namespace. All error handler is wrapped around a critical section to work correctly in a multi-threaded environment.


Member Function Documentation

static void FUError::AddErrorCallback FUError::Level  errorLevel,
void(*)(FUError::Level, uint32, uint32)  _function
[inline, static]
 

Adds a new callback that handles the event.

Parameters:
errorLevel The error level whose callback is to be set.
_function The static function to callback.

template<class Class>
static void FUError::AddErrorCallback FUError::Level  errorLevel,
Class *  handle,
void(Class::*)(FUError::Level, uint32, uint32)  _function
[inline, static]
 

Adds a new callback that handles the event.

Parameters:
errorLevel The error level whose callback is to be set.
handle The object that contains the member function.
_function The member function to callback.

static void FUError::AddErrorCallback FUError::Level  errorLevel,
FUErrorFunctor callback
[static]
 

Add callback for error messages.

Parameters:
errorLevel The error level whose callback is to be set.
callback Callback to be called when FCollada generates error message.

static bool FUError::Error FUError::Level  errorLevel,
uint32  errorCode,
uint32  line = 0
[static]
 

Logs and error message.

Parameters:
errorLevel The error level of this error. Different callback is called for corresponding error level.
errorCode The error code for the error message
line The line number to indicate where the error has occured
Returns:
Whether the error is non-fatal.

static const char* FUError::GetErrorString FUError::Code  errorCode  )  [static]
 

Retrieves the string description of the error code.

Parameters:
errorCode The error code whose string description is to be obtained.
Returns:
The string description in raw pointer to array of characters.

static FUError::Level FUError::GetFatalityLevel  )  [inline, static]
 

Retrieves the level at which errors are considered fatal.

Returns:
The fatality level.

static void FUError::RemoveErrorCallback FUError::Level  errorLevel,
void(*)(FUError::Level, uint32, uint32)  _function
[inline, static]
 

Removes and releases a static callback for error messages.

Parameters:
errorLevel The error level whose callback is to be removed. @param _function The static function callback to unregister.

template<class Class>
static void FUError::RemoveErrorCallback FUError::Level  errorLevel,
Class *  handle,
void(Class::*)(FUError::Level, uint32, uint32)  _function
[inline, static]
 

Removes and releases a callback for error messages.

Parameters:
errorLevel The error level whose callback is to be removed. @param handle The object that contains the member function.
_function The member function callback to unregister.

static void FUError::RemoveErrorCallback FUError::Level  errorLevel,
void *  object,
void *  function
[static]
 

Removes and releases a callback for error messages.

Parameters:
errorLevel The error level whose callback is to be removed.
object The object that contains the callback.
function Callback that was registered to be called when FCollada generates error message.

static void FUError::SetCustomErrorString const char *  customErrorString  )  [static]
 

Sets the error string for the custom error (ERROR_CUSTOM_STRING) Used mainly for the FUDebug structure.

We encourage applications to also use it in conjunction with the FUErrorLog class.

Parameters:
customErrorString. 

static void FUError::SetFatalityLevel FUError::Level  _fatalLevel  )  [inline, static]
 

Sets the level at which errors will cancel the processing of a COLLADA document.

Parameters:
_fatalLevel The fatality level. Is it highly recommended to leave this value at 'FUErrorERROR_LEVEL'.


The documentation for this class was generated from the following file:
Generated on Thu Feb 14 16:58:40 2008 for FCollada by  doxygen 1.4.6-NO