source: icXML/icXML-devel/src/xercesc/dom/DOMImplementationSource.hpp @ 2722

Last change on this file since 2722 was 2722, checked in by cameron, 6 years ago

Original Xerces files with import mods for icxercesc

File size: 4.1 KB
RevLine 
[2722]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: DOMImplementationSource.hpp 527149 2007-04-10 14:56:39Z amassari $
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_DOMIMPLEMENTATIONSOURCE_HPP)
23#define XERCESC_INCLUDE_GUARD_DOMIMPLEMENTATIONSOURCE_HPP
24
25 /**
26  * This interface permits a DOM implementer to supply one or more
27  * implementations, based upon requested features and versions. Each implemented
28  * <code>DOMImplementationSource</code> object is listed in the
29  * binding-specific list of available sources so that its
30  * <code>DOMImplementation</code> objects are made available.
31  *
32  * @since DOM Level 3
33  */
34#include <xercesc/util/XercesDefs.hpp>
35
36XERCES_CPP_NAMESPACE_BEGIN
37
38
39class DOMImplementation;
40class DOMImplementationList;
41
42class CDOM_EXPORT DOMImplementationSource
43{
44protected :
45    // -----------------------------------------------------------------------
46    //  Hidden constructors
47    // -----------------------------------------------------------------------
48    /** @name Hidden constructors */
49    //@{   
50    DOMImplementationSource() {};
51    //@}
52
53private:
54    // -----------------------------------------------------------------------
55    // Unimplemented constructors and operators
56    // -----------------------------------------------------------------------
57    /** @name Unimplemented constructors and operators */
58    //@{
59    DOMImplementationSource(const DOMImplementationSource &);
60    DOMImplementationSource & operator = (const DOMImplementationSource &);
61    //@}
62
63
64public:
65    // -----------------------------------------------------------------------
66    //  All constructors are hidden, just the destructor is available
67    // -----------------------------------------------------------------------
68    /** @name Destructor */
69    //@{
70    /**
71     * Destructor
72     *
73     */
74    virtual ~DOMImplementationSource() {};
75    //@}
76
77    // -----------------------------------------------------------------------
78    //  Virtual DOMImplementationSource interface
79    // -----------------------------------------------------------------------
80    /** @name Functions introduced in DOM Level 3 */
81    //@{
82    /**
83     * A method to request the first DOM implementation that supports the specified features.
84     *
85     * @param features A string that specifies which features are required.
86     *   This is a space separated list in which each feature is specified
87     *   by its name optionally followed by a space and a version number.
88     *   This is something like: "XML 1.0 Traversal 2.0"
89     * @return An implementation that has the desired features, or
90     *   <code>null</code> if this source has none.
91     * @since DOM Level 3
92     */
93    virtual DOMImplementation* getDOMImplementation(const XMLCh* features) const = 0;
94
95    /**
96     * A method to request a list of DOM implementations that support the specified features and versions,
97     *
98     * @param features A string that specifies which features are required.
99     *   This is a space separated list in which each feature is specified
100     *   by its name optionally followed by a space and a version number.
101     *   This is something like: "XML 1.0 Traversal 2.0"
102     * @return A list of DOM implementations that support the desired features
103     * @since DOM Level 3
104     */
105    virtual DOMImplementationList* getDOMImplementationList(const XMLCh* features) const = 0;
106    //@}
107
108};
109
110XERCES_CPP_NAMESPACE_END
111
112#endif
Note: See TracBrowser for help on using the repository browser.