Xerces-C++  3.1.3
SAXException.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: SAXException.hpp 527149 2007-04-10 14:56:39Z amassari $
20  */
21 
22 #if !defined(XERCESC_INCLUDE_GUARD_SAXEXCEPTION_HPP)
23 #define XERCESC_INCLUDE_GUARD_SAXEXCEPTION_HPP
24 
26 #include <xercesc/util/XMLUni.hpp>
27 #include <xercesc/util/XMemory.hpp>
28 
30 
31 
52 {
53 public:
61 
62  fMsg(XMLString::replicate(XMLUni::fgZeroLenString, manager))
63  , fMemoryManager(manager)
64  {
65  }
66 
74  SAXException(const XMLCh* const msg,
76 
77  fMsg(XMLString::replicate(msg, manager))
78  , fMemoryManager(manager)
79  {
80  }
81 
89  SAXException(const char* const msg,
91 
92  fMsg(XMLString::transcode(msg, manager))
93  , fMemoryManager(manager)
94  {
95  }
96 
102  SAXException(const SAXException& toCopy) :
103  XMemory(toCopy)
104  , fMsg(XMLString::replicate(toCopy.fMsg, toCopy.fMemoryManager))
105  , fMemoryManager(toCopy.fMemoryManager)
106  {
107  }
108 
110  virtual ~SAXException()
111  {
112  fMemoryManager->deallocate(fMsg);//delete [] fMsg;
113  }
114 
116 
117 
125  SAXException& operator=(const SAXException& toCopy)
126  {
127  if (this == &toCopy)
128  return *this;
129 
130  fMemoryManager->deallocate(fMsg);//delete [] fMsg;
131  fMsg = XMLString::replicate(toCopy.fMsg, toCopy.fMemoryManager);
132  fMemoryManager = toCopy.fMemoryManager;
133  return *this;
134  }
136 
143  virtual const XMLCh* getMessage() const
144  {
145  return fMsg;
146  }
148 
149 
150 protected :
151  // -----------------------------------------------------------------------
152  // Protected data members
153  //
154  // fMsg
155  // This is the text of the error that is being thrown.
156  // -----------------------------------------------------------------------
159 };
160 
162 {
163 
164 public:
166 
174  SAXNotSupportedException(const XMLCh* const msg,
176 
184  SAXNotSupportedException(const char* const msg,
186 
192  SAXNotSupportedException(const SAXException& toCopy);
193 };
194 
196 {
197 public:
199 
207  SAXNotRecognizedException(const XMLCh* const msg,
209 
217  SAXNotRecognizedException(const char* const msg,
219 
226 };
227 
229 
230 #endif