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 ___xmldomnodelist_h___
00023 #define ___xmldomnodelist_h___
00024
00025 #include <xercesc/dom/DOMNodeList.hpp>
00026 #include "NodeContainerImpl.h"
00027
00028 XERCES_CPP_NAMESPACE_USE
00029
00030 class ATL_NO_VTABLE CXMLDOMNodeList :
00031 public CComObjectRootEx<CComSingleThreadModel>,
00032 public IDispatchImpl<IXMLDOMNodeList, &IID_IXMLDOMNodeList, &LIBID_Xerces, XERCES_VERSION_MAJOR, INVK_CAT2_RAW_NUMERIC(XERCES_VERSION_MINOR,XERCES_VERSION_REVISION)>,
00033 public NodeContainerImpl<DOMNodeList>,
00034 public ISupportErrorInfo
00035 {
00036 public:
00037 CXMLDOMNodeList()
00038 {}
00039
00040 void FinalRelease()
00041 {
00042 ReleaseOwnerDoc();
00043 }
00044
00045 DECLARE_NOT_AGGREGATABLE(CXMLDOMNodeList)
00046 DECLARE_PROTECT_FINAL_CONSTRUCT()
00047
00048 BEGIN_COM_MAP(CXMLDOMNodeList)
00049 COM_INTERFACE_ENTRY(IXMLDOMNodeList)
00050 COM_INTERFACE_ENTRY(IDispatch)
00051 COM_INTERFACE_ENTRY(ISupportErrorInfo)
00052 END_COM_MAP()
00053
00054
00055 HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo(REFIID iid);
00056
00057
00058
00059 STDMETHOD(get_item)(long index, IXMLDOMNode **pVal);
00060 STDMETHOD(get_length)(long *pVal);
00061 STDMETHOD(nextNode)(IXMLDOMNode **nextItem);
00062 STDMETHOD(reset)();
00063 STDMETHOD(get__newEnum)(IUnknown **pVal);
00064 };
00065 typedef CComObject<CXMLDOMNodeList> CXMLDOMNodeListObj;
00066
00067 #endif // ___xmldomnodelist_h___