Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

XMLDOMNodeList.h

Go to the documentation of this file.
00001 /* 00002 * Copyright 1999-2001,2004 The Apache Software Foundation. 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 /* 00018 * $Log: XMLDOMNodeList.h,v $ 00019 * Revision 1.8 2004/09/08 13:55:36 peiyongz 00020 * Apache License Version 2.0 00021 * 00022 * Revision 1.7 2004/02/25 18:38:33 amassari 00023 * The COM wrapper doesn't use the deprecated DOM anymore 00024 * 00025 * Revision 1.6 2004/02/12 13:49:43 amassari 00026 * Updated version to 2.5 00027 * 00028 * Revision 1.5 2003/11/21 12:05:48 amassari 00029 * Updated version to 2.4 00030 * 00031 * Revision 1.4 2003/10/21 21:21:32 amassari 00032 * When the COM object is loaded by a late-binding engine (like WSH, or 00033 * Visual Basic when the type library is not preloaded in the editor), the type 00034 * library version stored in the resource must match the version specified in the 00035 * IDispatchImpl template (defaulted to 1.0), or trying to invoke a method will fail 00036 * 00037 * Revision 1.3 2003/03/14 12:44:49 tng 00038 * [Bug 17147] C++ namespace breaks build of XercesCOM DLL 00039 * 00040 * Revision 1.2 2002/05/21 19:53:53 tng 00041 * DOM Reorganization: update include path for the old DOM interface in COM files 00042 * 00043 * Revision 1.1.1.1 2002/02/01 22:21:42 peiyongz 00044 * sane_include 00045 * 00046 * Revision 1.5 2001/05/11 13:25:06 tng 00047 * Copyright update. 00048 * 00049 * Revision 1.4 2001/01/19 15:18:28 tng 00050 * COM Updates by Curt Arnold: changed 1.3 to 1.4, updated the GUID's so 00051 * both can coexist and fixed a new minor bugs. Most of the changes involved 00052 * error reporting, now a DOM defined error will return an HRESULT of 00053 * 0x80040600 + code and will set an error description to the error name. 00054 * 00055 * Revision 1.3 2000/06/03 00:29:00 andyh 00056 * COM Wrapper changes from Curt Arnold 00057 * 00058 * Revision 1.2 2000/03/30 02:00:10 abagchi 00059 * Initial checkin of working code with Copyright Notice 00060 * 00061 */ 00062 00063 #ifndef ___xmldomnodelist_h___ 00064 #define ___xmldomnodelist_h___ 00065 00066 #include <xercesc/dom/DOMNodeList.hpp> 00067 #include "NodeContainerImpl.h" 00068 00069 XERCES_CPP_NAMESPACE_USE 00070 00071 class ATL_NO_VTABLE CXMLDOMNodeList : 00072 public CComObjectRootEx<CComSingleThreadModel>, 00073 public IDispatchImpl<IXMLDOMNodeList, &IID_IXMLDOMNodeList, &LIBID_Xerces, 2, 50>, 00074 public NodeContainerImpl<DOMNodeList>, 00075 public ISupportErrorInfo 00076 { 00077 public: 00078 CXMLDOMNodeList() 00079 {} 00080 00081 void FinalRelease() 00082 { 00083 ReleaseOwnerDoc(); 00084 } 00085 00086 DECLARE_NOT_AGGREGATABLE(CXMLDOMNodeList) 00087 DECLARE_PROTECT_FINAL_CONSTRUCT() 00088 00089 BEGIN_COM_MAP(CXMLDOMNodeList) 00090 COM_INTERFACE_ENTRY(IXMLDOMNodeList) 00091 COM_INTERFACE_ENTRY(IDispatch) 00092 COM_INTERFACE_ENTRY(ISupportErrorInfo) 00093 END_COM_MAP() 00094 00095 // ISupportErrorInfo 00096 HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo(REFIID iid); 00097 00098 00099 // IXMLDOMNodeList 00100 STDMETHOD(get_item)(long index, IXMLDOMNode **pVal); 00101 STDMETHOD(get_length)(long *pVal); 00102 STDMETHOD(nextNode)(IXMLDOMNode **nextItem); 00103 STDMETHOD(reset)(); 00104 STDMETHOD(get__newEnum)(IUnknown **pVal); 00105 }; 00106 typedef CComObject<CXMLDOMNodeList> CXMLDOMNodeListObj; 00107 00108 #endif // ___xmldomnodelist_h___

Generated on Thu Apr 30 02:30:52 2009 for ACS C++ API by doxygen 1.3.8