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___