source: NonGTP/Xerces/xerces/include/xercesc/dom/DOMImplementationSource.hpp @ 358

Revision 358, 3.5 KB checked in by bittner, 19 years ago (diff)

xerces added

Line 
1#ifndef DOMImplementationSource_HEADER_GUARD_
2#define DOMImplementationSource_HEADER_GUARD_
3
4/*
5 * Copyright 2002-2004 The Apache Software Foundation.
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 *      http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 */
19
20/*
21 * $Id: DOMImplementationSource.hpp,v 1.7 2004/09/08 13:55:39 peiyongz Exp $
22 */
23
24/**
25  * This interface permits a DOM implementer to supply one or more
26  * implementations, based upon requested features. Each implemented
27  * <code>DOMImplementationSource</code> object is listed in the
28  * binding-specific list of available sources so that its
29  * <code>DOMImplementation</code> objects are made available.
30  * <p>See also the <a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020409'>Document Object Model (DOM) Level 3 Core Specification</a>.
31  *
32  * @since DOM Level 3
33  */
34#include <xercesc/util/XercesDefs.hpp>
35
36XERCES_CPP_NAMESPACE_BEGIN
37
38
39class DOMImplementation;
40
41class CDOM_EXPORT DOMImplementationSource
42{
43protected :
44    // -----------------------------------------------------------------------
45    //  Hidden constructors
46    // -----------------------------------------------------------------------
47    /** @name Hidden constructors */
48    //@{   
49    DOMImplementationSource() {};
50    //@}
51
52private:
53    // -----------------------------------------------------------------------
54    // Unimplemented constructors and operators
55    // -----------------------------------------------------------------------
56    /** @name Unimplemented constructors and operators */
57    //@{
58    DOMImplementationSource(const DOMImplementationSource &);
59    DOMImplementationSource & operator = (const DOMImplementationSource &);
60    //@}
61
62
63public:
64    // -----------------------------------------------------------------------
65    //  All constructors are hidden, just the destructor is available
66    // -----------------------------------------------------------------------
67    /** @name Destructor */
68    //@{
69    /**
70     * Destructor
71     *
72     */
73    virtual ~DOMImplementationSource() {};
74    //@}
75
76    // -----------------------------------------------------------------------
77    //  Virtual DOMImplementationSource interface
78    // -----------------------------------------------------------------------
79    /** @name Functions introduced in DOM Level 3 */
80    //@{
81    /**
82     * A method to request a DOM implementation.
83     *
84     * <p><b>"Experimental - subject to change"</b></p>
85     *
86     * @param features A string that specifies which features are required.
87     *   This is a space separated list in which each feature is specified
88     *   by its name optionally followed by a space and a version number.
89     *   This is something like: "XML 1.0 Traversal 2.0"
90     * @return An implementation that has the desired features, or
91     *   <code>null</code> if this source has none.
92     * @since DOM Level 3
93     */
94    virtual DOMImplementation* getDOMImplementation(const XMLCh* features) const = 0;
95    //@}
96
97};
98
99XERCES_CPP_NAMESPACE_END
100
101#endif
Note: See TracBrowser for help on using the repository browser.