Xerces-C++  3.1.2
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 
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
static char * replicate(const char *const toRep, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
Replicates a string NOTE: The returned buffer is allocated with the MemoryManager.
This class makes it possible to override the C++ memory management by adding new/delete operators to ...
Definition: XMemory.hpp:40
static MemoryManager * fgMemoryManager
The configurable memory manager.
Definition: PlatformUtils.hpp:121
SAXException(const XMLCh *const msg, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
Create a new SAXException.
Definition: SAXException.hpp:74
#define SAX_EXPORT
Definition: XercesDefs.hpp:164
Definition: SAXException.hpp:161
SAXException(const char *const msg, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
Create a new SAXException.
Definition: SAXException.hpp:89
Definition: XMLUni.hpp:38
SAXException(MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
Default constructor.
Definition: SAXException.hpp:60
MemoryManager * fMemoryManager
Definition: SAXException.hpp:158
Configurable memory manager.
Definition: MemoryManager.hpp:39
#define XERCES_CPP_NAMESPACE_BEGIN
Definition: XercesDefs.hpp:112
SAXException(const SAXException &toCopy)
Copy constructor.
Definition: SAXException.hpp:102
wchar_t XMLCh
Definition: Xerces_autoconf_config.borland.hpp:92
virtual const XMLCh * getMessage() const
Get the contents of the message.
Definition: SAXException.hpp:143
#define XERCES_CPP_NAMESPACE_END
Definition: XercesDefs.hpp:113
Class for representing native character strings and handling common string operations.
Definition: XMLString.hpp:45
virtual ~SAXException()
Destructor.
Definition: SAXException.hpp:110
Definition: SAXException.hpp:195
Encapsulate a general SAX error or warning.
Definition: SAXException.hpp:51
SAXException & operator=(const SAXException &toCopy)
Assignment operator.
Definition: SAXException.hpp:125
XMLCh * fMsg
Definition: SAXException.hpp:157