00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(QNAME_HPP)
00022 #define QNAME_HPP
00023
00024 #include <xercesc/util/XMLString.hpp>
00025 #include <xercesc/util/XMLUniDefs.hpp>
00026 #include <xercesc/util/XMemory.hpp>
00027 #include <xercesc/util/PlatformUtils.hpp>
00028
00029 #include <xercesc/internal/XSerializable.hpp>
00030
00031 XERCES_CPP_NAMESPACE_BEGIN
00032
00033 class QName : public XSerializable, public XMemory
00034 {
00035 public :
00036
00037
00038
00040 QName(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
00041
00043 QName
00044 (
00045 const XMLCh* const prefix
00046 , const XMLCh* const localPart
00047 , const unsigned int uriId
00048 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00049 );
00050
00052 QName
00053 (
00054 const XMLCh* const rawName
00055 , const unsigned int uriId
00056 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00057 );
00058
00060 QName(const QName& qname);
00061
00062 ~QName();
00063
00064
00065
00066
00067 const XMLCh* getPrefix() const;
00068 XMLCh* getPrefix();
00069
00070 const XMLCh* getLocalPart() const;
00071 XMLCh* getLocalPart();
00072
00073 unsigned int getURI() const;
00074
00075 const XMLCh* getRawName() const;
00076 XMLCh* getRawName();
00077
00078 MemoryManager* getMemoryManager() const;
00079
00080
00081
00082
00083 void setName
00084 (
00085 const XMLCh* const prefix
00086 , const XMLCh* const localPart
00087 , const unsigned int uriId
00088 );
00089
00090 void setName
00091 (
00092 const XMLCh* const rawName
00093 , const unsigned int uriId
00094 );
00095
00096 void setPrefix(const XMLCh*) ;
00097 void setLocalPart(const XMLCh*) ;
00098 void setNPrefix(const XMLCh*, const unsigned int) ;
00099 void setNLocalPart(const XMLCh*, const unsigned int) ;
00100 void setURI(const unsigned int) ;
00101
00102 void setValues(const QName& qname);
00103
00104
00105
00106
00107 bool operator==(const QName&) const;
00108
00109
00110
00111
00112 void cleanUp();
00113
00114
00115
00116
00117 DECL_XSERIALIZABLE(QName)
00118
00119 private :
00120
00121
00122
00123 QName& operator=(const QName&);
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153 unsigned int fPrefixBufSz;
00154 unsigned int fLocalPartBufSz;
00155 unsigned int fRawNameBufSz;
00156 unsigned int fURIId;
00157 XMLCh* fPrefix;
00158 XMLCh* fLocalPart;
00159 XMLCh* fRawName;
00160 MemoryManager* fMemoryManager;
00161 };
00162
00163
00164
00165
00166 inline const XMLCh* QName::getPrefix() const
00167 {
00168 return fPrefix;
00169 }
00170
00171 inline XMLCh* QName::getPrefix()
00172 {
00173 return fPrefix;
00174 }
00175
00176 inline const XMLCh* QName::getLocalPart() const
00177 {
00178 return fLocalPart;
00179 }
00180
00181 inline XMLCh* QName::getLocalPart()
00182 {
00183 return fLocalPart;
00184 }
00185
00186 inline unsigned int QName::getURI() const
00187 {
00188 return fURIId;
00189 }
00190
00191 inline MemoryManager* QName::getMemoryManager() const
00192 {
00193 return fMemoryManager;
00194 }
00195
00196
00197
00198
00199 inline void QName::setURI(const unsigned int uriId)
00200 {
00201 fURIId = uriId;
00202 }
00203
00204 XERCES_CPP_NAMESPACE_END
00205
00206 #endif