Xerces-C++ 3.1.3

- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

PanicHandler.hpp
Go to the documentation of this file.
1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 /*
19 * $Id: PanicHandler.hpp 527149 2007-04-10 14:56:39Z amassari $
20 */
21
22 #if !defined(XERCESC_INCLUDE_GUARD_PANICHANDLER_HPP)
23 #define XERCESC_INCLUDE_GUARD_PANICHANDLER_HPP
24
25 #include <xercesc/util/XMemory.hpp>
26
27 XERCES_CPP_NAMESPACE_BEGIN
28
44 class XMLUTIL_EXPORT PanicHandler
45 {
46 public:
47
50 enum PanicReasons
51 {
52 Panic_NoTransService
53 , Panic_NoDefTranscoder
54 , Panic_CantFindLib
55 , Panic_UnknownMsgDomain
56 , Panic_CantLoadMsgDomain
57 , Panic_SynchronizationErr
58 , Panic_SystemInit
59 , Panic_AllStaticInitErr
60 , Panic_MutexErr
61 , PanicReasons_Count
62 };
64
65 protected:
66
70 PanicHandler(){};
71
72 public:
73
75 virtual ~PanicHandler(){};
77
95 virtual void panic(const PanicHandler::PanicReasons reason) = 0;
97
98 static const char* getPanicReasonString(const PanicHandler::PanicReasons reason);
99
100 private:
101
102 /* Unimplemented Constructors and operators */
103 /* Copy constructor */
104 PanicHandler(const PanicHandler&);
105
107 PanicHandler& operator=(const PanicHandler&);
108 };
109
110 XERCES_CPP_NAMESPACE_END
111
112 #endif