Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef ___xmldomattribute_h___
00023 #define ___xmldomattribute_h___
00024
00025 #include <xercesc/dom/DOMAttr.hpp>
00026 #include "IXMLDOMNodeImpl.h"
00027 XERCES_CPP_NAMESPACE_USE
00028
00029 class ATL_NO_VTABLE CXMLDOMAttribute :
00030 public CComObjectRootEx<CComSingleThreadModel>,
00031 public IXMLDOMNodeImpl<IXMLDOMAttribute, &IID_IXMLDOMAttribute>
00032 {
00033 public:
00034 CXMLDOMAttribute()
00035 {}
00036
00037 void FinalRelease()
00038 {
00039 ReleaseOwnerDoc();
00040 }
00041
00042 virtual DOMNode* get_DOMNode() { return attr;}
00043 virtual DOMNodeType get_DOMNodeType() const { return NODE_ATTRIBUTE; }
00044
00045 DECLARE_NOT_AGGREGATABLE(CXMLDOMAttribute)
00046 DECLARE_PROTECT_FINAL_CONSTRUCT()
00047
00048 BEGIN_COM_MAP(CXMLDOMAttribute)
00049 COM_INTERFACE_ENTRY(IXMLDOMAttribute)
00050 COM_INTERFACE_ENTRY(IXMLDOMNode)
00051 COM_INTERFACE_ENTRY(IIBMXMLDOMNodeIdentity)
00052 COM_INTERFACE_ENTRY(ISupportErrorInfo)
00053 COM_INTERFACE_ENTRY(IDispatch)
00054 END_COM_MAP()
00055
00056
00057 STDMETHOD(get_specified)(VARIANT_BOOL *pVal);
00058
00059
00060
00061 STDMETHOD(get_name)(BSTR *pVal);
00062 STDMETHOD(get_value)(VARIANT *pVal);
00063 STDMETHOD(put_value)(VARIANT newVal);
00064
00065
00066
00067
00068
00069 STDMETHOD(get_nodeValue)(VARIANT* pVal);
00070
00071 DOMAttr* attr;
00072 };
00073
00074 typedef CComObject<CXMLDOMAttribute> CXMLDOMAttributeObj;
00075
00076 #endif // ___xmldomattribute_h___