Xerces-C++  3.1.2
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 
28 
45 {
46 public:
47 
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 
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 
111 
112 #endif
PanicHandler()
Default constructor.
Definition: PanicHandler.hpp:70
PanicReasons
Definition: PanicHandler.hpp:50
Receive notification of panic.
Definition: PanicHandler.hpp:44
virtual ~PanicHandler()
Destructor.
Definition: PanicHandler.hpp:75
#define XERCES_CPP_NAMESPACE_BEGIN
Definition: XercesDefs.hpp:112
#define XMLUTIL_EXPORT
Definition: XercesDefs.hpp:162
#define XERCES_CPP_NAMESPACE_END
Definition: XercesDefs.hpp:113