XMLAttDefList.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: XMLAttDefList.hpp 673679 2008-07-03 13:50:10Z borisk $
00020  */
00021 
00022 #if !defined(XERCESC_INCLUDE_GUARD_XMLATTDEFLIST_HPP)
00023 #define XERCESC_INCLUDE_GUARD_XMLATTDEFLIST_HPP
00024 
00025 #include <xercesc/util/XercesDefs.hpp>
00026 #include <xercesc/util/XMemory.hpp>
00027 #include <xercesc/internal/XSerializable.hpp>
00028 
00029 XERCES_CPP_NAMESPACE_BEGIN
00030 
00031 class XMLAttDef;
00032 
00050 class XMLPARSER_EXPORT XMLAttDefList : public XSerializable, public XMemory
00051 {
00052 public:
00053     // -----------------------------------------------------------------------
00054     //  Constructors and Destructor
00055     // -----------------------------------------------------------------------
00056 
00059     virtual ~XMLAttDefList();
00061 
00062 
00063     // -----------------------------------------------------------------------
00064     //  The virtual interface
00065     // -----------------------------------------------------------------------
00066 
00067     virtual bool isEmpty() const = 0;
00068     virtual XMLAttDef* findAttDef
00069     (
00070         const   unsigned int        uriID
00071         , const XMLCh* const        attName
00072     ) = 0;
00073     virtual const XMLAttDef* findAttDef
00074     (
00075         const   unsigned int        uriID
00076         , const XMLCh* const        attName
00077     )   const = 0;
00078     virtual XMLAttDef* findAttDef
00079     (
00080         const   XMLCh* const        attURI
00081         , const XMLCh* const        attName
00082     ) = 0;
00083     virtual const XMLAttDef* findAttDef
00084     (
00085         const   XMLCh* const        attURI
00086         , const XMLCh* const        attName
00087     )   const = 0;
00088 
00092     virtual XMLSize_t getAttDefCount() const = 0;
00093 
00097     virtual XMLAttDef &getAttDef(XMLSize_t index) = 0;
00098 
00102     virtual const XMLAttDef &getAttDef(XMLSize_t index) const = 0;
00103 
00104     /***
00105      * Support for Serialization/De-serialization
00106      ***/
00107     DECL_XSERIALIZABLE(XMLAttDefList)
00108 
00109 
00110     // -----------------------------------------------------------------------
00111     //  Getter methods
00112     // -----------------------------------------------------------------------
00113 
00114     
00116 
00124     MemoryManager* getMemoryManager() const;
00125 
00127 
00128 protected :
00129     // -----------------------------------------------------------------------
00130     //  Hidden constructors and operators
00131     // -----------------------------------------------------------------------
00132     XMLAttDefList(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
00133 
00134 private:
00135     // unimplemented
00136     XMLAttDefList(const XMLAttDefList&);
00137     XMLAttDefList& operator=(const XMLAttDefList&);
00138 
00139     MemoryManager*      fMemoryManager;
00140 };
00141 
00142 
00143 
00144 // ---------------------------------------------------------------------------
00145 //  XMLAttDefList: Getter methods
00146 // ---------------------------------------------------------------------------
00147 
00148 inline MemoryManager* XMLAttDefList::getMemoryManager() const
00149 {
00150     return fMemoryManager;
00151 }
00152 
00153 // ---------------------------------------------------------------------------
00154 //  XMLAttDefList: Constructors and Destructor
00155 // ---------------------------------------------------------------------------
00156 inline XMLAttDefList::~XMLAttDefList()
00157 {
00158 }
00159 
00160 
00161 // ---------------------------------------------------------------------------
00162 //  XMLAttDefList: Protected Constructor
00163 // ---------------------------------------------------------------------------
00164 inline XMLAttDefList::XMLAttDefList(MemoryManager* const manager):
00165 fMemoryManager(manager)
00166 {
00167 }
00168 
00169 XERCES_CPP_NAMESPACE_END
00170 
00171 #endif

Generated on Wed Feb 18 07:56:10 2009 for Xerces-C++ by  doxygen 1.5.4