00001 /*00002 * Licensed to the Apache Software Foundation (ASF) under one or more00003 * contributor license agreements. See the NOTICE file distributed with00004 * this work for additional information regarding copyright ownership.00005 * The ASF licenses this file to You under the Apache License, Version 2.000006 * (the "License"); you may not use this file except in compliance with00007 * the License. You may obtain a copy of the License at00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.000010 * 00011 * Unless required by applicable law or agreed to in writing, software00012 * distributed under the License is distributed on an "AS IS" BASIS,00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.00014 * See the License for the specific language governing permissions and00015 * limitations under the License.00016 */00017
00018 /*00019 * $Id: PanicHandler.hpp 568078 2007-08-21 11:43:25Z amassari $00020 */00021
00022 #ifndef PANICHANDLER_HPP00023 #define PANICHANDLER_HPP00024
00025 #include <xercesc/util/XMemory.hpp>00026
00027 XERCES_CPP_NAMESPACE_BEGIN00028
00044class PanicHandler00045 {
00046 public:
00047
00050enumPanicReasons00051 {
00052 Panic_NoTransService
00053 , Panic_NoDefTranscoder
00054 , Panic_CantFindLib
00055 , Panic_UnknownMsgDomain
00056 , Panic_CantLoadMsgDomain
00057 , Panic_SynchronizationErr
00058 , Panic_SystemInit
00059 , Panic_AllStaticInitErr
00060 , Panic_MutexErr
00061 , PanicReasons_Count
00062 };
00064
00065 protected:
00066
00070PanicHandler(){};
00071
00072 public:
00073
00075virtual ~PanicHandler(){};
00077
00095 virtualvoid panic(constPanicHandler::PanicReasons reason) = 0;
00097
00098 staticconstchar* getPanicReasonString(constPanicHandler::PanicReasons reason);
00099
00100 private:
00101
00102 /* Unimplemented Constructors and operators */00103 /* Copy constructor */00104 PanicHandler(constPanicHandler&);
00105
00107 PanicHandler& operator=(constPanicHandler&);
00108 };
00109
00110 XERCES_CPP_NAMESPACE_END00111
00112 #endif