00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(XSOBJECT_HPP)
00022 #define XSOBJECT_HPP
00023
00024 #include <xercesc/util/PlatformUtils.hpp>
00025 #include <xercesc/framework/psvi/XSConstants.hpp>
00026
00027 XERCES_CPP_NAMESPACE_BEGIN
00028
00037
00038 class XSNamespaceItem;
00039 class XSModel;
00040
00041 class XSObject : public XMemory
00042 {
00043 public:
00044
00045
00046
00049
00057 XSObject
00058 (
00059 XSConstants::COMPONENT_TYPE compType
00060 , XSModel* const xsModel
00061 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00062 );
00063
00065
00068 virtual ~XSObject();
00070
00071
00075
00080 XSConstants::COMPONENT_TYPE getType() const;
00081
00086 virtual const XMLCh* getName();
00087
00092 virtual const XMLCh* getNamespace();
00093
00099 virtual XSNamespaceItem *getNamespaceItem();
00100
00107 virtual unsigned int getId() const;
00108
00110
00111
00118 void setId(unsigned int id);
00120
00121 private:
00122
00123
00124
00125
00126 XSObject(const XSObject&);
00127 XSObject & operator=(const XSObject &);
00128
00129 protected:
00130
00131
00132
00133
00134
00135
00136
00137
00138 XSConstants::COMPONENT_TYPE fComponentType;
00139 XSModel* fXSModel;
00140 MemoryManager* fMemoryManager;
00141 unsigned int fId;
00142 };
00143
00144 inline XSConstants::COMPONENT_TYPE XSObject::getType() const
00145 {
00146 return fComponentType;
00147 }
00148
00149 XERCES_CPP_NAMESPACE_END
00150
00151 #endif