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___