source: icXML/icXML-devel/src/xercesc/dom/impl/DOMImplementationImpl.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.4 KB
Line 
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: DOMImplementationImpl.hpp 671894 2008-06-26 13:29:21Z borisk $
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_DOMIMPLEMENTATIONIMPL_HPP)
23#define XERCESC_INCLUDE_GUARD_DOMIMPLEMENTATIONIMPL_HPP
24
25//
26//  This file is part of the internal implementation of the C++ XML DOM.
27//  It should NOT be included or used directly by application programs.
28//
29//  Applications should include the file <xercesc/dom/DOM.hpp> for the entire
30//  DOM API, or xercesc/dom/DOM*.hpp for individual DOM classes, where the class
31//  name is substituded for the *.
32//
33
34#include <xercesc/util/XercesDefs.hpp>
35#include <xercesc/dom/DOMImplementation.hpp>
36#include <xercesc/dom/DOMImplementationSource.hpp>
37
38XERCES_CPP_NAMESPACE_BEGIN
39
40class XMLMsgLoader;
41
42class DOMImplementationImpl: public XMemory,
43                             public DOMImplementation,
44                             public DOMImplementationSource
45{
46private:
47    DOMImplementationImpl(const DOMImplementationImpl &);
48    DOMImplementationImpl & operator = (const DOMImplementationImpl &);
49    friend class XMLInitializer;
50
51protected:
52    DOMImplementationImpl() {};
53
54public:
55    virtual ~DOMImplementationImpl() {};
56    static DOMImplementationImpl*   getDOMImplementationImpl();
57    static XMLMsgLoader* getMsgLoader4DOM();
58
59    // ------------------------------------------------------------
60    // DOMImplementation Virtual interface
61    // ------------------------------------------------------------
62    virtual bool                hasFeature(const  XMLCh * feature,  const  XMLCh * version) const;
63
64    // Introduced in DOM Level 2
65    virtual DOMDocumentType*    createDocumentType(const XMLCh *qualifiedName,
66                                                   const XMLCh * publicId,
67                                                   const XMLCh *systemId);
68    virtual DOMDocument*        createDocument(const XMLCh *namespaceURI,
69                                               const XMLCh *qualifiedName,
70                                               DOMDocumentType *doctype,
71                                               MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
72
73    // DOM Level 3
74    virtual void* getFeature(const XMLCh* feature, const XMLCh* version) const;
75
76    // Non-standard extension
77    virtual DOMDocument*        createDocument(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
78
79    // ------------------------------------------------------------
80    // DOMImplementationLS Virtual interface
81    // ------------------------------------------------------------
82    // Introduced in DOM Level 3
83    virtual DOMLSParser* createLSParser(const DOMImplementationLSMode mode,
84                                        const XMLCh* const     schemaType,
85                                        MemoryManager* const   manager = XMLPlatformUtils::fgMemoryManager,
86                                        XMLGrammarPool*  const gramPool = 0);
87    virtual DOMLSSerializer* createLSSerializer(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
88    virtual DOMLSInput* createLSInput(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
89    virtual DOMLSOutput* createLSOutput(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
90
91    // ------------------------------------------------------------
92    // DOMImplementationSource Virtual interface
93    // ------------------------------------------------------------
94    virtual DOMImplementation* getDOMImplementation(const XMLCh* features) const;
95    virtual DOMImplementationList* getDOMImplementationList(const XMLCh* features) const;
96
97};
98
99
100XERCES_CPP_NAMESPACE_END
101
102#endif
Note: See TracBrowser for help on using the repository browser.