# 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