PanicHandler.hpp

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  * 
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  * 
00011  * Unless required by applicable law or agreed to in writing, software
00012  * 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 and
00015  * limitations under the License.
00016  */
00017 
00018 /*
00019  * $Id: PanicHandler.hpp 568078 2007-08-21 11:43:25Z amassari $
00020  */
00021 
00022 #ifndef PANICHANDLER_HPP
00023 #define PANICHANDLER_HPP
00024 
00025 #include <xercesc/util/XMemory.hpp>
00026 
00027 XERCES_CPP_NAMESPACE_BEGIN
00028 
00044 class XMLUTIL_EXPORT PanicHandler
00045 {
00046 public:
00047 
00050     enum PanicReasons
00051     {
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 
00070     PanicHandler(){};
00071 
00072 public:
00073 
00075     virtual ~PanicHandler(){};   
00077 
00095     virtual void panic(const PanicHandler::PanicReasons reason) = 0;
00097 
00098     static const char* getPanicReasonString(const PanicHandler::PanicReasons reason);
00099     
00100 private:
00101 
00102     /* Unimplemented Constructors and operators */
00103     /* Copy constructor */
00104     PanicHandler(const PanicHandler&);
00105     
00107     PanicHandler& operator=(const PanicHandler&);
00108 };
00109 
00110 XERCES_CPP_NAMESPACE_END
00111 
00112 #endif

Generated on Thu Feb 19 11:35:43 2009 for Xerces-C++ by  doxygen 1.5.4