00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __FBX_ErrorManager_h__
00021 #define __FBX_ErrorManager_h__
00022
00023 #include "FBX_Common.h"
00024 #include <UT/UT_String.h>
00025
00026
00027 enum FBX_ErrorType
00028 {
00029 FBX_ErrorGeneric = 0,
00030 FBX_ErrorIncorrectPassword,
00031 FBX_ErrorLights
00032 };
00033
00034 class FBX_API FBX_Error
00035 {
00036 public:
00037 FBX_Error(const char* pMessage, bool bIsCritical, FBX_ErrorType eType);
00038 virtual ~FBX_Error();
00039
00040 bool getIsCritical(void) const;
00041 const char* getMessage(void) const;
00042 FBX_ErrorType getType(void) const;
00043
00044 private:
00045 string myMessage;
00046 bool myIsCritical;
00047 FBX_ErrorType myType;
00048 };
00049 typedef vector<FBX_Error*> TErrorVector;
00050
00051 class FBX_API FBX_ErrorManager
00052 {
00053 public:
00054 FBX_ErrorManager();
00055 virtual ~FBX_ErrorManager();
00056
00057 void addError(const char* pcsError, bool bIsCritical = true, FBX_ErrorType eType = FBX_ErrorGeneric);
00058 void addError(const char* pcsErrorPart1, const char* pcsErrorPart2, const char* pcsErrorPart3, bool bIsCritical = true, FBX_ErrorType eType = FBX_ErrorGeneric);
00059
00060 int getNumItems(void) const;
00061
00062 bool getDidReportCriticalErrors(void) const;
00063
00064 void reset(void);
00065
00066 void appendAllErrors(UT_String& string_out) const;
00067 void appendAllWarnings(UT_String& string_out) const;
00068
00069 private:
00070
00071 TErrorVector myErrors;
00072 bool myDidReportCricialErrors;
00073 };
00074
00075
00076 #endif // __FBX_ErrorManager_h__
00077