Branch data Line data Source code
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: DOMErrorHandler.hpp 932887 2010-04-11 13:04:59Z borisk $
20 : : */
21 : :
22 : : #if !defined(XERCESC_INCLUDE_GUARD_DOMERRORHANDLER_HPP)
23 : : #define XERCESC_INCLUDE_GUARD_DOMERRORHANDLER_HPP
24 : :
25 : : #include <xercesc/util/XercesDefs.hpp>
26 : :
27 : : XERCES_CPP_NAMESPACE_BEGIN
28 : :
29 : :
30 : : class DOMError;
31 : :
32 : : /**
33 : : * Basic interface for DOM error handlers.
34 : : *
35 : : * <p>DOMErrorHandler is a callback interface that the DOM implementation
36 : : * can call when reporting errors that happens while processing XML data, or
37 : : * when doing some other processing (e.g. validating a document).</p>
38 : : *
39 : : * <p>The application that is using the DOM implementation is expected to
40 : : * implement this interface.</p>
41 : : *
42 : : * @see DOMLSParser#getDomConfig
43 : : * @since DOM Level 3
44 : : */
45 : :
46 : : class CDOM_EXPORT DOMErrorHandler
47 : : {
48 : : protected:
49 : : // -----------------------------------------------------------------------
50 : : // Hidden constructors
51 : : // -----------------------------------------------------------------------
52 : : /** @name Hidden constructors */
53 : : //@{
54 : 4 : DOMErrorHandler() {};
55 : : //@}
56 : :
57 : : private:
58 : : // -----------------------------------------------------------------------
59 : : // Unimplemented constructors and operators
60 : : // -----------------------------------------------------------------------
61 : : /** @name Unimplemented constructors and operators */
62 : : //@{
63 : : DOMErrorHandler(const DOMErrorHandler &);
64 : : DOMErrorHandler & operator = (const DOMErrorHandler &);
65 : : //@}
66 : :
67 : : public:
68 : : // -----------------------------------------------------------------------
69 : : // All constructors are hidden, just the destructor is available
70 : : // -----------------------------------------------------------------------
71 : : /** @name Destructor */
72 : : //@{
73 : : /**
74 : : * Destructor
75 : : *
76 : : */
77 : 4 : virtual ~DOMErrorHandler() {};
78 : : //@}
79 : :
80 : : // -----------------------------------------------------------------------
81 : : // Virtual DOMErrorHandler interface
82 : : // -----------------------------------------------------------------------
83 : : /** @name Functions introduced in DOM Level 3 */
84 : : //@{
85 : : /**
86 : : * This method is called on the error handler when an error occurs.
87 : : * If an exception is thrown from this method, it is considered to be equivalent of returning <code>true</code>.
88 : : *
89 : : * @param domError The error object that describes the error, this object
90 : : * may be reused by the DOM implementation across multiple
91 : : * calls to the handleError method.
92 : : * @return If the handleError method returns <code>true</code> the DOM
93 : : * implementation should continue as if the error didn't happen
94 : : * when possible, if the method returns <code>false</code> then the
95 : : * DOM implementation should stop the current processing when
96 : : * possible.
97 : : *
98 : : * @since DOM Level 3
99 : : */
100 : : virtual bool handleError(const DOMError& domError) = 0;
101 : : //@}
102 : :
103 : : };
104 : :
105 : : XERCES_CPP_NAMESPACE_END
106 : :
107 : : #endif
|