00001 #ifndef DOMException_HEADER_GUARD_
00002 #define DOMException_HEADER_GUARD_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <xercesc/util/XercesDefs.hpp>
00025 #include <xercesc/util/PlatformUtils.hpp>
00026
00027 XERCES_CPP_NAMESPACE_BEGIN
00028
00029
00049 class MemoryManager;
00050
00051 class DOMException {
00052 public:
00053
00054
00055
00062 DOMException();
00063
00071 DOMException(
00072 short code
00073 , const XMLCh* message
00074 , MemoryManager* const memoryManager = XMLPlatformUtils::fgMemoryManager
00075 );
00076
00082 DOMException(const DOMException &other);
00083
00085
00086
00087
00088
00095 virtual ~DOMException();
00097
00098 public:
00099
00100
00101
00178 enum ExceptionCode {
00179 INDEX_SIZE_ERR = 1,
00180 DOMSTRING_SIZE_ERR = 2,
00181 HIERARCHY_REQUEST_ERR = 3,
00182 WRONG_DOCUMENT_ERR = 4,
00183 INVALID_CHARACTER_ERR = 5,
00184 NO_DATA_ALLOWED_ERR = 6,
00185 NO_MODIFICATION_ALLOWED_ERR = 7,
00186 NOT_FOUND_ERR = 8,
00187 NOT_SUPPORTED_ERR = 9,
00188 INUSE_ATTRIBUTE_ERR = 10,
00189 INVALID_STATE_ERR = 11,
00190 SYNTAX_ERR = 12,
00191 INVALID_MODIFICATION_ERR = 13,
00192 NAMESPACE_ERR = 14,
00193 INVALID_ACCESS_ERR = 15,
00194 VALIDATION_ERR = 16
00195 };
00197
00198
00199
00200
00201 inline const XMLCh* getMessage() const;
00202
00203
00204
00205
00212 ExceptionCode code;
00213
00220 const XMLCh *msg;
00222
00223 protected:
00224
00225 MemoryManager* fMemoryManager;
00226
00227 private:
00228
00236 bool fMsgOwned;
00237
00238 private:
00239
00240
00241
00242 DOMException & operator = (const DOMException &);
00243 };
00244
00245 inline const XMLCh* DOMException::getMessage() const
00246 {
00247 return msg;
00248 }
00249
00250 XERCES_CPP_NAMESPACE_END
00251
00252 #endif
00253