Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:51

0001 /*
0002  * Licensed to the Apache Software Foundation (ASF) under one or more
0003  * contributor license agreements.  See the NOTICE file distributed with
0004  * this work for additional information regarding copyright ownership.
0005  * The ASF licenses this file to You under the Apache License, Version 2.0
0006  * (the "License"); you may not use this file except in compliance with
0007  * the License.  You may obtain a copy of the License at
0008  * 
0009  *      http://www.apache.org/licenses/LICENSE-2.0
0010  * 
0011  * Unless required by applicable law or agreed to in writing, software
0012  * distributed under the License is distributed on an "AS IS" BASIS,
0013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0014  * See the License for the specific language governing permissions and
0015  * limitations under the License.
0016  */
0017 
0018 /*
0019  * $Id$
0020  */
0021 
0022 #if !defined(XERCESC_INCLUDE_GUARD_DOMIMPLEMENTATIONSOURCE_HPP)
0023 #define XERCESC_INCLUDE_GUARD_DOMIMPLEMENTATIONSOURCE_HPP
0024 
0025  /**
0026   * This interface permits a DOM implementer to supply one or more
0027   * implementations, based upon requested features and versions. Each implemented
0028   * <code>DOMImplementationSource</code> object is listed in the
0029   * binding-specific list of available sources so that its
0030   * <code>DOMImplementation</code> objects are made available.
0031   *
0032   * @since DOM Level 3
0033   */
0034 #include <xercesc/util/XercesDefs.hpp>
0035 
0036 XERCES_CPP_NAMESPACE_BEGIN
0037 
0038 
0039 class DOMImplementation;
0040 class DOMImplementationList;
0041 
0042 class CDOM_EXPORT DOMImplementationSource
0043 {
0044 protected :
0045     // -----------------------------------------------------------------------
0046     //  Hidden constructors
0047     // -----------------------------------------------------------------------
0048     /** @name Hidden constructors */
0049     //@{    
0050     DOMImplementationSource() {};
0051     //@}
0052 
0053 private:
0054     // -----------------------------------------------------------------------
0055     // Unimplemented constructors and operators
0056     // -----------------------------------------------------------------------
0057     /** @name Unimplemented constructors and operators */
0058     //@{
0059     DOMImplementationSource(const DOMImplementationSource &);
0060     DOMImplementationSource & operator = (const DOMImplementationSource &);
0061     //@}
0062 
0063 
0064 public:
0065     // -----------------------------------------------------------------------
0066     //  All constructors are hidden, just the destructor is available
0067     // -----------------------------------------------------------------------
0068     /** @name Destructor */
0069     //@{
0070     /**
0071      * Destructor
0072      *
0073      */
0074     virtual ~DOMImplementationSource() {};
0075     //@}
0076 
0077     // -----------------------------------------------------------------------
0078     //  Virtual DOMImplementationSource interface
0079     // -----------------------------------------------------------------------
0080     /** @name Functions introduced in DOM Level 3 */
0081     //@{
0082     /**
0083      * A method to request the first DOM implementation that supports the specified features.
0084      *
0085      * @param features A string that specifies which features are required.
0086      *   This is a space separated list in which each feature is specified
0087      *   by its name optionally followed by a space and a version number.
0088      *   This is something like: "XML 1.0 Traversal 2.0"
0089      * @return An implementation that has the desired features, or
0090      *   <code>null</code> if this source has none.
0091      * @since DOM Level 3
0092      */
0093     virtual DOMImplementation* getDOMImplementation(const XMLCh* features) const = 0;
0094 
0095     /**
0096      * A method to request a list of DOM implementations that support the specified features and versions,
0097      *
0098      * @param features A string that specifies which features are required.
0099      *   This is a space separated list in which each feature is specified
0100      *   by its name optionally followed by a space and a version number.
0101      *   This is something like: "XML 1.0 Traversal 2.0"
0102      * @return A list of DOM implementations that support the desired features
0103      * @since DOM Level 3
0104      */
0105     virtual DOMImplementationList* getDOMImplementationList(const XMLCh* features) const = 0;
0106     //@}
0107 
0108 };
0109 
0110 XERCES_CPP_NAMESPACE_END
0111 
0112 #endif