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