00001 #ifndef DOMImplementationLS_HEADER_GUARD_ 00002 #define DOMImplementationLS_HEADER_GUARD_ 00003 00004 /* 00005 * Copyright 2002,2004 The Apache Software Foundation. 00006 * 00007 * Licensed under the Apache License, Version 2.0 (the "License"); 00008 * you may not use this file except in compliance with the License. 00009 * You may obtain a copy of the License at 00010 * 00011 * http://www.apache.org/licenses/LICENSE-2.0 00012 * 00013 * Unless required by applicable law or agreed to in writing, software 00014 * distributed under the License is distributed on an "AS IS" BASIS, 00015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00016 * See the License for the specific language governing permissions and 00017 * limitations under the License. 00018 */ 00019 00020 /* 00021 * $Log: DOMImplementationLS.hpp,v $ 00022 * Revision 1.12 2004/09/08 13:55:39 peiyongz 00023 * Apache License Version 2.0 00024 * 00025 * Revision 1.11 2004/09/02 19:08:09 cargilld 00026 * Fix API Doc warning message 00027 * 00028 * Revision 1.10 2003/12/01 23:23:25 neilg 00029 * fix for bug 25118; thanks to Jeroen Witmond 00030 * 00031 * Revision 1.9 2003/06/20 18:47:21 peiyongz 00032 * Stateless Grammar Pool :: Part I 00033 * 00034 * Revision 1.8 2003/05/15 18:25:53 knoaman 00035 * Partial implementation of the configurable memory manager. 00036 * 00037 * Revision 1.7 2003/03/07 19:59:05 tng 00038 * [Bug 11692] Unimplement the hidden constructors and assignment operator to remove warnings from gcc. 00039 * 00040 * Revision 1.6 2002/11/04 15:09:24 tng 00041 * C++ Namespace Support. 00042 * 00043 * Revision 1.5 2002/08/22 15:04:57 tng 00044 * Remove unused parameter variables in inline functions. 00045 * 00046 * Revision 1.4 2002/06/06 20:53:06 tng 00047 * Documentation Fix: Update the API Documentation for DOM headers 00048 * 00049 * Revision 1.3 2002/05/30 19:24:48 knoaman 00050 * documentation update 00051 * 00052 * Revision 1.2 2002/05/30 16:39:06 knoaman 00053 * DOM L3 LS. 00054 * 00055 * Revision 1.1 2002/05/29 21:28:02 knoaman 00056 * DOM L3 LS: DOMInputSource, DOMEntityResolver, DOMImplementationLS and DOMBuilder 00057 * 00058 */ 00059 00060 00061 #include <xercesc/util/PlatformUtils.hpp> 00062 00063 XERCES_CPP_NAMESPACE_BEGIN 00064 00065 00066 class DOMBuilder; 00067 class DOMWriter; 00068 class DOMInputSource; 00069 class MemoryManager; 00070 class XMLGrammarPool; 00071 00085 class DOMImplementationLS 00086 { 00087 protected: 00088 // ----------------------------------------------------------------------- 00089 // Hidden constructors 00090 // ----------------------------------------------------------------------- 00093 DOMImplementationLS() {}; 00095 00096 private: 00097 // ----------------------------------------------------------------------- 00098 // Unimplemented constructors and operators 00099 // ----------------------------------------------------------------------- 00102 DOMImplementationLS(const DOMImplementationLS &); 00103 DOMImplementationLS & operator = (const DOMImplementationLS &); 00105 00106 public: 00107 // ----------------------------------------------------------------------- 00108 // All constructors are hidden, just the destructor is available 00109 // ----------------------------------------------------------------------- 00116 virtual ~DOMImplementationLS() {}; 00118 00119 // ----------------------------------------------------------------------- 00120 // Public constants 00121 // ----------------------------------------------------------------------- 00130 enum 00131 { 00132 MODE_SYNCHRONOUS = 1, 00133 MODE_ASYNCHRONOUS = 2 00134 }; 00136 00137 // ----------------------------------------------------------------------- 00138 // Virtual DOMImplementation LS interface 00139 // ----------------------------------------------------------------------- 00142 // ----------------------------------------------------------------------- 00143 // Factory create methods 00144 // ----------------------------------------------------------------------- 00176 virtual DOMBuilder* createDOMBuilder(const short mode, 00177 const XMLCh* const schemaType, 00178 MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager, 00179 XMLGrammarPool* const gramPool = 0) = 0; 00180 00181 00193 virtual DOMWriter* createDOMWriter(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0; 00194 00207 virtual DOMInputSource* createDOMInputSource() = 0; 00208 00210 }; 00211 00212 00213 XERCES_CPP_NAMESPACE_END 00214 00215 #endif