00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #if !defined(XMLATTDEFLIST_HPP)
00022 #define XMLATTDEFLIST_HPP
00023 
00024 #include <xercesc/util/XercesDefs.hpp>
00025 #include <xercesc/util/XMemory.hpp>
00026 #include <xercesc/internal/XSerializable.hpp>
00027 
00028 XERCES_CPP_NAMESPACE_BEGIN
00029 
00030 class XMLAttDef;
00031 
00049 class  XMLAttDefList : public XSerializable, public XMemory
00050 {
00051 public:
00052     
00053     
00054     
00055 
00058     virtual ~XMLAttDefList();
00060 
00061 
00062     
00063     
00064     
00065 
00069     virtual bool hasMoreElements() const = 0;
00070     virtual bool isEmpty() const = 0;
00071     virtual XMLAttDef* findAttDef
00072     (
00073         const   unsigned long       uriID
00074         , const XMLCh* const        attName
00075     ) = 0;
00076     virtual const XMLAttDef* findAttDef
00077     (
00078         const   unsigned long       uriID
00079         , const XMLCh* const        attName
00080     )   const = 0;
00081     virtual XMLAttDef* findAttDef
00082     (
00083         const   XMLCh* const        attURI
00084         , const XMLCh* const        attName
00085     ) = 0;
00086     virtual const XMLAttDef* findAttDef
00087     (
00088         const   XMLCh* const        attURI
00089         , const XMLCh* const        attName
00090     )   const = 0;
00091 
00095     virtual XMLAttDef& nextElement() = 0;
00096 
00100     virtual void Reset() = 0;
00101 
00105     virtual unsigned int getAttDefCount() const = 0;
00106 
00110     virtual XMLAttDef &getAttDef(unsigned int index) = 0;
00111 
00115     virtual const XMLAttDef &getAttDef(unsigned int index) const = 0;
00116 
00117     
00118 
00119 
00120     DECL_XSERIALIZABLE(XMLAttDefList)
00121 
00122 
00123     
00124     
00125     
00126 
00127     
00129 
00137     MemoryManager* getMemoryManager() const;
00138 
00140 
00141 protected :
00142     
00143     
00144     
00145     XMLAttDefList(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
00146 
00147 private:
00148     
00149     XMLAttDefList(const XMLAttDefList&);
00150     XMLAttDefList& operator=(const XMLAttDefList&);
00151 
00152     MemoryManager*      fMemoryManager;
00153 };
00154 
00155 
00156 
00157 
00158 
00159 
00160 
00161 inline MemoryManager* XMLAttDefList::getMemoryManager() const
00162 {
00163     return fMemoryManager;
00164 }
00165 
00166 
00167 
00168 
00169 inline XMLAttDefList::~XMLAttDefList()
00170 {
00171 }
00172 
00173 
00174 
00175 
00176 
00177 inline XMLAttDefList::XMLAttDefList(MemoryManager* const manager):
00178 fMemoryManager(manager)
00179 {
00180 }
00181 
00182 XERCES_CPP_NAMESPACE_END
00183 
00184 #endif