source: NonGTP/Xerces/xerces-c_2_8_0/include/xercesc/dom/DOMImplementationSource.hpp @ 2674

Revision 2674, 3.6 KB checked in by mattausch, 16 years ago (diff)
Line 
1#ifndef DOMImplementationSource_HEADER_GUARD_
2#define DOMImplementationSource_HEADER_GUARD_
3
4/*
5 * Licensed to the Apache Software Foundation (ASF) under one or more
6 * contributor license agreements.  See the NOTICE file distributed with
7 * this work for additional information regarding copyright ownership.
8 * The ASF licenses this file to You under the Apache License, Version 2.0
9 * (the "License"); you may not use this file except in compliance with
10 * the License.  You may obtain a copy of the License at
11 *
12 *      http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 */
20
21/*
22 * $Id: DOMImplementationSource.hpp 568078 2007-08-21 11:43:25Z amassari $
23 */
24
25/**
26  * This interface permits a DOM implementer to supply one or more
27  * implementations, based upon requested features. 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  * <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>.
32  *
33  * @since DOM Level 3
34  */
35#include <xercesc/util/XercesDefs.hpp>
36
37XERCES_CPP_NAMESPACE_BEGIN
38
39
40class DOMImplementation;
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 a DOM implementation.
84     *
85     * <p><b>"Experimental - subject to change"</b></p>
86     *
87     * @param features A string that specifies which features are required.
88     *   This is a space separated list in which each feature is specified
89     *   by its name optionally followed by a space and a version number.
90     *   This is something like: "XML 1.0 Traversal 2.0"
91     * @return An implementation that has the desired features, or
92     *   <code>null</code> if this source has none.
93     * @since DOM Level 3
94     */
95    virtual DOMImplementation* getDOMImplementation(const XMLCh* features) const = 0;
96    //@}
97
98};
99
100XERCES_CPP_NAMESPACE_END
101
102#endif
Note: See TracBrowser for help on using the repository browser.