00001 #ifndef DOMImplementationLS_HEADER_GUARD_00002 #define DOMImplementationLS_HEADER_GUARD_00003
00004 /*00005 * Licensed to the Apache Software Foundation (ASF) under one or more00006 * contributor license agreements. See the NOTICE file distributed with00007 * this work for additional information regarding copyright ownership.00008 * The ASF licenses this file to You under the Apache License, Version 2.000009 * (the "License"); you may not use this file except in compliance with00010 * the License. You may obtain a copy of the License at00011 * 00012 * http://www.apache.org/licenses/LICENSE-2.000013 * 00014 * Unless required by applicable law or agreed to in writing, software00015 * distributed under the License is distributed on an "AS IS" BASIS,00016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.00017 * See the License for the specific language governing permissions and00018 * limitations under the License.00019 */00020
00021 /*00022 * $Id: DOMImplementationLS.hpp 568078 2007-08-21 11:43:25Z amassari $00023 */00024
00025
00026 #include <xercesc/util/PlatformUtils.hpp>00027
00028 XERCES_CPP_NAMESPACE_BEGIN00029
00030
00031 class DOMBuilder;
00032 class DOMWriter;
00033 class DOMInputSource;
00034 class MemoryManager;
00035 class XMLGrammarPool;
00036
00050class DOMImplementationLS00051 {
00052 protected:
00053 // -----------------------------------------------------------------------00054 // Hidden constructors00055 // -----------------------------------------------------------------------00058DOMImplementationLS() {};
00060
00061 private:
00062 // -----------------------------------------------------------------------00063 // Unimplemented constructors and operators00064 // -----------------------------------------------------------------------00067 DOMImplementationLS(constDOMImplementationLS &);
00068 DOMImplementationLS & operator = (constDOMImplementationLS &);
00070
00071 public:
00072 // -----------------------------------------------------------------------00073 // All constructors are hidden, just the destructor is available00074 // -----------------------------------------------------------------------00081virtual ~DOMImplementationLS() {};
00083
00084 // -----------------------------------------------------------------------00085 // Public constants00086 // -----------------------------------------------------------------------00095 enum00096 {
00097 MODE_SYNCHRONOUS = 1,
00098 MODE_ASYNCHRONOUS = 2
00099 };
00101
00102 // -----------------------------------------------------------------------00103 // Virtual DOMImplementation LS interface00104 // -----------------------------------------------------------------------00107 // -----------------------------------------------------------------------00108 // Factory create methods00109 // -----------------------------------------------------------------------00141 virtualDOMBuilder* createDOMBuilder(constshort mode,
00142 const XMLCh* const schemaType,
00143 MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager,
00144 XMLGrammarPool* const gramPool = 0) = 0;
00145
00146
00158 virtualDOMWriter* createDOMWriter(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
00159
00172 virtualDOMInputSource* createDOMInputSource() = 0;
00173
00175 };
00176
00177
00178 XERCES_CPP_NAMESPACE_END00179
00180 #endif