SourceForge.net Logo

DOMImplementationLS.hpp

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 /*
00019  * $Id: DOMImplementationLS.hpp 671894 2008-06-26 13:29:21Z borisk $
00020  */
00021 
00022 #if !defined(XERCESC_INCLUDE_GUARD_DOMIMPLEMENTATIONLS_HPP)
00023 #define XERCESC_INCLUDE_GUARD_DOMIMPLEMENTATIONLS_HPP
00024 
00025 #include <xercesc/util/PlatformUtils.hpp>
00026 
00027 XERCES_CPP_NAMESPACE_BEGIN
00028 
00029 
00030 class DOMLSParser;
00031 class DOMLSSerializer;
00032 class DOMLSInput;
00033 class DOMLSOutput;
00034 class MemoryManager;
00035 class XMLGrammarPool;
00036 
00049 class CDOM_EXPORT DOMImplementationLS
00050 {
00051 protected:
00052     // -----------------------------------------------------------------------
00053     //  Hidden constructors
00054     // -----------------------------------------------------------------------
00057     DOMImplementationLS() {};
00059 
00060 private:
00061     // -----------------------------------------------------------------------
00062     // Unimplemented constructors and operators
00063     // -----------------------------------------------------------------------
00066     DOMImplementationLS(const DOMImplementationLS &);
00067     DOMImplementationLS & operator = (const DOMImplementationLS &);
00069 
00070 public:
00071     // -----------------------------------------------------------------------
00072     //  All constructors are hidden, just the destructor is available
00073     // -----------------------------------------------------------------------
00080     virtual ~DOMImplementationLS() {};
00082 
00083     // -----------------------------------------------------------------------
00084     //  Public constants
00085     // -----------------------------------------------------------------------
00094     enum DOMImplementationLSMode
00095     {
00096         MODE_SYNCHRONOUS = 1,
00097         MODE_ASYNCHRONOUS = 2
00098     };
00100 
00101     // -----------------------------------------------------------------------
00102     // Virtual DOMImplementationLS interface
00103     // -----------------------------------------------------------------------
00106     // -----------------------------------------------------------------------
00107     //  Factory create methods
00108     // -----------------------------------------------------------------------
00141     virtual DOMLSParser* createLSParser(const DOMImplementationLSMode mode,
00142                                         const XMLCh* const     schemaType,
00143                                         MemoryManager* const   manager = XMLPlatformUtils::fgMemoryManager,
00144                                         XMLGrammarPool*  const gramPool = 0) = 0;
00145 
00146 
00156     virtual DOMLSSerializer* createLSSerializer(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
00157 
00166     virtual DOMLSInput* createLSInput(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
00167 
00176     virtual DOMLSOutput* createLSOutput(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
00178 };
00179 
00180 
00181 XERCES_CPP_NAMESPACE_END
00182 
00183 #endif