# XMLInitializer.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: XMLInitializer.hpp 695427 2008-09-15 11:05:36Z borisk $
    00020  */
    00021
    00022 #if !defined(XERCESC_INCLUDE_GUARD_XMLINITIALIZER_HPP)
    00023 #define XERCESC_INCLUDE_GUARD_XMLINITIALIZER_HPP
    00024
    00025 #include <xercesc/util/XercesDefs.hpp>
    00026
    00027 XERCES_CPP_NAMESPACE_BEGIN
    00028
    00029
    00037 class XMLUTIL_EXPORT XMLInitializer
    00038 {
    00039 protected :
    00042
    00047     static void initializeTransService();
    00048     static void initializeStaticData();
    00049
    00054     static void terminateStaticData();
    00055     static void terminateTransService();
    00056
    00058
    00059     friend class XMLPlatformUtils;
    00060
    00061 private :
    00062     XMLInitializer();
    00063     XMLInitializer(const XMLInitializer& toCopy);
    00064     XMLInitializer& operator=(const XMLInitializer&);
    00065
    00066 private:
    00067     // Note: The name of each function should be in the form
    00068     // initialize<class-name>.
    00069     //
    00070     // Note: In some cases order of initialization is important.
    00071     //
    00072
    00073     //
    00074     // Initialize
    00075     //
    00076
    00077     // Core
    00078     //
    00079     static void initializeEncodingValidator();
    00080     static void initializeXMLException();
    00081     static void initializeXMLScanner();
    00082     static void initializeXMLValidator();
    00083
    00084     // Regex
    00085     //
    00086     static void initializeRangeTokenMap();
    00087     static void initializeRegularExpression();
    00088
    00089     // DTD
    00090     //
    00091     static void initializeDTDGrammar();
    00092
    00093     // Schema
    00094     //
    00095     static void initializeXSDErrorReporter();
    00096     static void initializeDatatypeValidatorFactory();
    00097     static void initializeGeneralAttributeCheck();
    00098     static void initializeXSValue();
    00099     static void initializeComplexTypeInfo();
    00100
    00101     // DOM
    00102     //
    00103     static void initializeDOMImplementationRegistry();
    00104     static void initializeDOMImplementationImpl();
    00105     static void initializeDOMDocumentTypeImpl();
    00106     static void initializeDOMNodeListImpl();
    00107     static void initializeDOMNormalizer();
    00108
    00109
    00110     //
    00111     // Terminate
    00112     //
    00113
    00114     // Core
    00115     //
    00116     static void terminateEncodingValidator();
    00117     static void terminateXMLException();
    00118     static void terminateXMLScanner();
    00119     static void terminateXMLValidator();
    00120
    00121     // Regex
    00122     //
    00123     static void terminateRangeTokenMap();
    00124     static void terminateRegularExpression();
    00125
    00126     // DTD
    00127     //
    00128     static void terminateDTDGrammar();
    00129
    00130     // Schema
    00131     //
    00132     static void terminateXSDErrorReporter();
    00133     static void terminateDatatypeValidatorFactory();
    00134     static void terminateGeneralAttributeCheck();
    00135     static void terminateXSValue();
    00136     static void terminateComplexTypeInfo();
    00137
    00138     // DOM
    00139     //
    00140     static void terminateDOMImplementationRegistry();
    00141     static void terminateDOMImplementationImpl();
    00142     static void terminateDOMDocumentTypeImpl();
    00143     static void terminateDOMNodeListImpl();
    00144     static void terminateDOMNormalizer();
    00145
    00146     //
    00147     // Extra initialization.
    00148     //
    00149     static void initializeDOMHeap (XMLSize_t initialHeapAllocSize,
    00150                                    XMLSize_t maxHeapAllocSize,
    00151                                    XMLSize_t maxSubAllocationSize);
    00152 };
    00153
    00154
    00155 XERCES_CPP_NAMESPACE_END
    00156
    00157 #endif