00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef PANICHANDLER_HPP
00022 #define PANICHANDLER_HPP
00023
00024 #include <xercesc/util/XMemory.hpp>
00025
00026 XERCES_CPP_NAMESPACE_BEGIN
00027
00043 class PanicHandler
00044 {
00045 public:
00046
00049 enum PanicReasons
00050 {
00051 Panic_NoTransService
00052 , Panic_NoDefTranscoder
00053 , Panic_CantFindLib
00054 , Panic_UnknownMsgDomain
00055 , Panic_CantLoadMsgDomain
00056 , Panic_SynchronizationErr
00057 , Panic_SystemInit
00058 , Panic_AllStaticInitErr
00059 , Panic_MutexErr
00060 , PanicReasons_Count
00061 };
00063
00064 protected:
00065
00069 PanicHandler(){};
00070
00071 public:
00072
00074 virtual ~PanicHandler(){};
00076
00094 virtual void panic(const PanicHandler::PanicReasons reason) = 0;
00096
00097 static const char* getPanicReasonString(const PanicHandler::PanicReasons reason);
00098
00099 private:
00100
00101
00102
00103 PanicHandler(const PanicHandler&);
00104
00106 PanicHandler& operator=(const PanicHandler&);
00107 };
00108
00109 XERCES_CPP_NAMESPACE_END
00110
00111 #endif