00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef ___xmldomxmldecl_h___
00019
#define ___xmldomxmldecl_h___
00020
00021
#include <xercesc/dom/DOMProcessingInstruction.hpp>
00022
#include "IXMLDOMNodeImpl.h"
00023
00024 XERCES_CPP_NAMESPACE_USE
00025
00026 class ATL_NO_VTABLE CXMLDOMXMLDecl :
00027
public CComObjectRootEx<CComSingleThreadModel>,
00028
public IXMLDOMNodeImpl<IXMLDOMProcessingInstruction, &IID_IXMLDOMProcessingInstruction>
00029 {
00030
public:
00031 CXMLDOMXMLDecl()
00032 {}
00033
00034 void FinalRelease()
00035 {
00036
ReleaseOwnerDoc();
00037 }
00038
00039 virtual DOMNode*
get_DOMNode() {
return xmlDecl;}
00040 virtual DOMNodeType
get_DOMNodeType()
const {
return NODE_PROCESSING_INSTRUCTION; }
00041
00042 DECLARE_NOT_AGGREGATABLE(CXMLDOMXMLDecl)
00043 DECLARE_PROTECT_FINAL_CONSTRUCT()
00044
00045 BEGIN_COM_MAP(CXMLDOMXMLDecl)
00046 COM_INTERFACE_ENTRY(IXMLDOMProcessingInstruction)
00047 COM_INTERFACE_ENTRY(IXMLDOMNode)
00048 COM_INTERFACE_ENTRY(
IIBMXMLDOMNodeIdentity)
00049 COM_INTERFACE_ENTRY(IDispatch)
00050 END_COM_MAP()
00051
00052
00053 STDMETHOD(get_target)(BSTR *pVal);
00054 STDMETHOD(get_data)(BSTR *pVal);
00055 STDMETHOD(put_data)(BSTR newVal);
00056
00057 DOMProcessingInstruction* xmlDecl;
00058 };
00059
00060 typedef CComObject<CXMLDOMXMLDecl>
CXMLDOMXMLDeclObj;
00061
00062 #endif