00001 /* 00002 * Licensed to the Apache Software Foundation (ASF) under one 00003 * or more contributor license agreements. See the NOTICE file 00004 * distributed with this work for additional information 00005 * regarding copyright ownership. The ASF licenses this file 00006 * to you under the Apache License, Version 2.0 (the "License"); 00007 * you may not use this file except in compliance with the License. 00008 * You may obtain a copy of the License at 00009 * 00010 * http://www.apache.org/licenses/LICENSE-2.0 00011 * 00012 * Unless required by applicable law or agreed to in writing, software 00013 * distributed under the License is distributed on an "AS IS" BASIS, 00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 * See the License for the specific language governing permissions and 00016 * limitations under the License. 00017 */ 00018 #if !defined(XERCESLIAISONXALANDOMSTRINGPOOL_HEADER_GUARD_1357924680) 00019 #define XERCESLIAISONXALANDOMSTRINGPOOL_HEADER_GUARD_1357924680 00020 00021 00022 00023 // Base include file. Must be first. 00024 #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp> 00025 00026 00027 00028 #include <xalanc/PlatformSupport/XalanDOMStringPool.hpp> 00029 00030 00031 00032 #include <xercesc/util/Mutexes.hpp> 00033 00034 00035 00036 XALAN_CPP_NAMESPACE_BEGIN 00037 00038 00039 00040 // A version of XalanDOMStringPool which is synchronized using a Xerces Mutex. 00041 class XALAN_XERCESPARSERLIAISON_EXPORT XercesLiaisonXalanDOMStringPool : public XalanDOMStringPool 00042 { 00043 public: 00044 00045 typedef XalanDOMStringPool ParentType; 00046 typedef XERCES_CPP_NAMESPACE_QUALIFIER XMLMutex XMLMutexType; 00047 typedef XERCES_CPP_NAMESPACE_QUALIFIER XMLMutexLock XMLMutexLockType; 00048 00049 explicit 00050 XercesLiaisonXalanDOMStringPool(MemoryManager& theManager); 00051 00052 static XercesLiaisonXalanDOMStringPool* 00053 create(MemoryManager& theManager); 00054 00055 virtual 00056 ~XercesLiaisonXalanDOMStringPool(); 00057 00058 // These are inherited from XalanDOMStringPool... 00059 00060 virtual void 00061 clear(); 00062 00063 virtual size_t 00064 size() const; 00065 00066 virtual const XalanDOMString& 00067 get(const XalanDOMString& theString); 00068 00069 virtual const XalanDOMString& 00070 get( 00071 const XalanDOMChar* theString, 00072 XalanDOMString::size_type theLength = XalanDOMString::npos); 00073 00074 private: 00075 00076 // Not implemented, for now... 00077 XercesLiaisonXalanDOMStringPool(const XercesLiaisonXalanDOMStringPool&); 00078 00079 XercesLiaisonXalanDOMStringPool& 00080 operator=(const XercesLiaisonXalanDOMStringPool&); 00081 00082 bool 00083 operator==(const XercesLiaisonXalanDOMStringPool&) const; 00084 00085 // Data members... 00086 mutable XMLMutexType m_mutex; 00087 }; 00088 00089 00090 00091 XALAN_CPP_NAMESPACE_END 00092 00093 00094 00095 #endif // !defined(XERCESLIAISONXALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
Xalan-C++ XSLT Processor Version 1.11 |
|