| /* |
| * Copyright (C) 2005 Mike McCormack |
| * Copyright (C) 2005 Vijay Kiran Kamuju |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2.1 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| #include <msxmldid.h> |
| #include <msxml2did.h> |
| #include <idispids.h> |
| |
| #ifndef DO_NO_IMPORTS |
| import "unknwn.idl"; |
| import "wtypes.idl"; |
| import "objidl.idl"; |
| import "oaidl.idl"; |
| #endif |
| |
| [ |
| uuid(d63e0ce2-a0a2-11d0-9c02-00c04fc99c8e), |
| version(2.0), |
| helpstring("Microsoft XML, v2.0") |
| ] |
| library MSXML |
| { |
| |
| importlib("stdole2.tlb"); |
| |
| #include <xmldom.idl> |
| #include <xmldso.idl> |
| |
| [ |
| local, |
| object, |
| odl, |
| dual, |
| oleautomation, |
| uuid(65725580-9b5d-11d0-9bfe-00c04fc99c8e) |
| ] |
| interface IXMLElementCollection : IDispatch |
| { |
| [propput, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)] |
| HRESULT length( [in] LONG v ); |
| |
| [propget, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)] |
| HRESULT length( [retval, out] LONG *p ); |
| |
| [propget, id(DISPID_XMLELEMENTCOLLECTION_NEWENUM)] |
| HRESULT _newEnum( [retval, out] IUnknown ** ppUnk ); |
| |
| [id(DISPID_XMLELEMENTCOLLECTION_ITEM)] |
| HRESULT item( |
| [optional, in] VARIANT var1, |
| [optional, in] VARIANT var2, |
| [retval, out] IDispatch ** ppDisp ); |
| } |
| |
| [ |
| local, |
| object, |
| uuid(3f7f31ac-e15f-11d0-9c25-00c04fc99c8e) |
| ] |
| interface IXMLElement : IDispatch |
| { |
| [propget, id(DISPID_XMLELEMENT_TAGNAME)] |
| HRESULT tagName( [retval, out] BSTR *p); |
| |
| [propput, id(DISPID_XMLELEMENT_TAGNAME)] |
| HRESULT tagName( [in] BSTR p ); |
| |
| [propget, id(DISPID_XMLELEMENT_PARENT)] |
| HRESULT parent( [retval, out] IXMLElement **parent ); |
| |
| [id(DISPID_XMLELEMENT_SETATTRIBUTE)] |
| HRESULT setAttribute( |
| [in] BSTR strPropertyName, |
| [in] VARIANT PropertyValue ); |
| |
| [id(DISPID_XMLELEMENT_GETATTRIBUTE)] |
| HRESULT getAttribute( |
| [in] BSTR strPropertyName, |
| [retval, out] VARIANT *PropertyValue ); |
| |
| [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE)] |
| HRESULT removeAttribute( |
| [in] BSTR strPropertyName ); |
| |
| [propget, id(DISPID_XMLELEMENT_CHILDREN)] |
| HRESULT children( [retval, out] IXMLElementCollection **p ); |
| |
| [propget, id(DISPID_XMLELEMENT_TYPE)] |
| HRESULT type( [retval, out] LONG *p ); |
| |
| [propget, id(DISPID_XMLELEMENT_TEXT)] |
| HRESULT text( [retval, out] BSTR *p ); |
| |
| [propput, id(DISPID_XMLELEMENT_TEXT)] |
| HRESULT text( [in] BSTR p ); |
| |
| [id(DISPID_XMLELEMENT_ADDCHILD)] |
| HRESULT addChild( |
| [in] IXMLElement *pChildElem, |
| [in] LONG lIndex, |
| [in] LONG lreserved ); |
| |
| [id(DISPID_XMLELEMENT_REMOVECHILD)] |
| HRESULT removeChild( |
| [in] IXMLElement *pChildElem ); |
| } |
| |
| [ |
| local, |
| object, |
| uuid(f52e2b61-18a1-11d1-b105-00805f49916b) |
| ] |
| interface IXMLDocument : IDispatch |
| { |
| [propget, id(DISPID_XMLDOCUMENT_ROOT)] |
| HRESULT root( [retval, out] IXMLElement **p ); |
| |
| [propget, id(DISPID_XMLDOCUMENT_FILESIZE)] |
| HRESULT fileSize( [retval, out] BSTR *p ); |
| |
| [propget, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE)] |
| HRESULT fileModifiedDate( [retval, out] BSTR *p ); |
| |
| [propget, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE)] |
| HRESULT fileUpdatedDate( [retval, out] BSTR *p ); |
| |
| [propget, id(DISPID_XMLDOCUMENT_URL)] |
| HRESULT URL( [retval, out] BSTR *p ); |
| |
| [propput, id(DISPID_XMLDOCUMENT_URL)] |
| HRESULT URL( [in] BSTR p ); |
| |
| [propget, id(DISPID_XMLDOCUMENT_MIMETYPE)] |
| HRESULT mimeType( [retval, out] BSTR *p ); |
| |
| [propget, id(DISPID_XMLDOCUMENT_READYSTATE)] |
| HRESULT readyState( [retval, out] LONG *p ); |
| |
| [propget, id(DISPID_XMLDOCUMENT_CHARSET)] |
| HRESULT charset( [retval, out] BSTR *p ); |
| |
| [propput, id(DISPID_XMLDOCUMENT_CHARSET)] |
| HRESULT charset( [in] BSTR p ); |
| |
| [propget, id(DISPID_XMLDOCUMENT_VERSION)] |
| HRESULT version( [retval, out] BSTR *p ); |
| |
| [propget, id(DISPID_XMLDOCUMENT_DOCTYPE)] |
| HRESULT doctype( [retval, out] BSTR *p ); |
| |
| [propget, id(DISPID_XMLDOCUMENT_DTDURL)] |
| HRESULT dtdURl( [retval, out] BSTR *p ); |
| |
| [id(DISPID_XMLDOCUMENT_CREATEELEMENT)] |
| HRESULT createElement( |
| [in] VARIANT vType, |
| [optional, in] VARIANT var1, |
| [retval, out] IXMLElement **ppElem ); |
| } |
| |
| [ |
| local, |
| object, |
| uuid(2B8DE2FF-8D2D-11d1-B2FC-00C04FD915A9) |
| ] |
| interface IXMLElement2 : IDispatch |
| { |
| [propget, id(DISPID_XMLELEMENT_TAGNAME)] |
| HRESULT tagName([retval, out] BSTR *p); |
| |
| [propput, id(DISPID_XMLELEMENT_TAGNAME)] |
| HRESULT tagName([in] BSTR p); |
| |
| [propget, id(DISPID_XMLELEMENT_PARENT)] |
| HRESULT parent([retval, out]IXMLElement2 **ppParent); |
| |
| [id(DISPID_XMLELEMENT_SETATTRIBUTE)] |
| HRESULT setAttribute( |
| [in] BSTR strPropertyName, |
| [in] VARIANT PropertyValue); |
| |
| [id(DISPID_XMLELEMENT_GETATTRIBUTE)] |
| HRESULT getAttribute( |
| [in] BSTR strPropertyName, |
| [retval, out] VARIANT *PropertyValue); |
| |
| [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE)] |
| HRESULT removeAttribute([in] BSTR strPropertyName); |
| |
| [propget, id(DISPID_XMLELEMENT_CHILDREN)] |
| HRESULT children([retval, out] IXMLElementCollection **pp); |
| |
| [propget, id(DISPID_XMLELEMENT_TYPE)] |
| HRESULT type([retval, out] LONG *plType); |
| |
| [propget, id(DISPID_XMLELEMENT_TEXT)] |
| HRESULT text([retval, out] BSTR *p); |
| |
| [propput, id(DISPID_XMLELEMENT_TEXT)] |
| HRESULT text([in] BSTR p); |
| |
| [id(DISPID_XMLELEMENT_ADDCHILD)] |
| HRESULT addChild( |
| [in] IXMLElement2 *pChildElem, |
| [in] LONG lIndex, |
| [in] LONG lReserved); |
| |
| [id(DISPID_XMLELEMENT_REMOVECHILD)] |
| HRESULT removeChild([in]IXMLElement2 *pChildElem); |
| |
| [propget, id(DISPID_XMLELEMENT_ATTRIBUTES)] |
| HRESULT attributes([retval, out] IXMLElementCollection **pp); |
| } |
| |
| [ |
| local, |
| object, |
| uuid(2B8DE2FE-8D2D-11d1-B2FC-00C04FD915A9) |
| ] |
| interface IXMLDocument2 : IDispatch |
| { |
| [propget, id(DISPID_XMLDOCUMENT_ROOT)] |
| HRESULT root([retval, out] IXMLElement2 **p); |
| |
| [propget, id(DISPID_XMLDOCUMENT_FILESIZE)] |
| HRESULT fileSize([retval, out] BSTR *p); |
| |
| [propget, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE)] |
| HRESULT fileModifiedDate([retval, out] BSTR *p); |
| |
| [propget, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE)] |
| HRESULT fileUpdatedDate([retval, out] BSTR *p); |
| |
| [propget, id(DISPID_XMLDOCUMENT_URL)] |
| HRESULT URL([retval, out] BSTR *p); |
| |
| [propput, id(DISPID_XMLDOCUMENT_URL)] |
| HRESULT URL([in] BSTR p); |
| |
| [propget, id(DISPID_XMLDOCUMENT_MIMETYPE)] |
| HRESULT mimeType([retval, out] BSTR *p); |
| |
| [propget, id(DISPID_XMLDOCUMENT_READYSTATE)] |
| HRESULT readyState([retval, out]LONG *pl); |
| |
| [propget, id(DISPID_XMLDOCUMENT_CHARSET)] |
| HRESULT charset([retval, out]BSTR *p); |
| |
| [propput, id(DISPID_XMLDOCUMENT_CHARSET)] |
| HRESULT charset([in]BSTR p); |
| |
| [propget, id(DISPID_XMLDOCUMENT_VERSION)] |
| HRESULT version([retval, out]BSTR *p); |
| |
| [propget, id(DISPID_XMLDOCUMENT_DOCTYPE)] |
| HRESULT doctype([retval, out]BSTR *p); |
| |
| [propget, restricted, id(DISPID_XMLDOCUMENT_DTDURL)] |
| HRESULT dtdURL([retval, out]BSTR *p); |
| |
| [id(DISPID_XMLDOCUMENT_CREATEELEMENT)] |
| HRESULT createElement( |
| [in] VARIANT vType, |
| [optional, in] VARIANT var, |
| [retval, out] IXMLElement2 **ppElem); |
| |
| [propget, id(DISPID_XMLDOCUMENT_ASYNC)] |
| HRESULT async([retval, out] VARIANT_BOOL *pf); |
| |
| [propput, id(DISPID_XMLDOCUMENT_ASYNC)] |
| HRESULT async([in] VARIANT_BOOL f); |
| } |
| |
| typedef enum tagXMLEMEM_TYPE { |
| XMLELEMTYPE_ELEMENT = 0, |
| XMLELEMTYPE_TEXT = 1, |
| XMLELEMTYPE_COMMENT = 2, |
| XMLELEMTYPE_DOCUMENT = 3, |
| XMLELEMTYPE_DTD = 4, |
| XMLELEMTYPE_PI = 5, |
| XMLELEMTYPE_OTHER = 6 |
| } XMLELEM_TYPE; |
| |
| typedef struct _xml_error { |
| UINT _nLine; |
| BSTR _pchBuf; |
| BSTR _cchBuf; |
| UINT _ich; |
| BSTR _pszFound; |
| BSTR _pszExpected; |
| DWORD _reserved1; |
| DWORD _reserved2; |
| } XML_ERROR; |
| |
| [ |
| local, |
| object, |
| uuid(d4d4a0fc-3b73-11d1-b2b4-00c04fb92596) |
| ] |
| interface IXMLAttribute : IDispatch |
| { |
| [propget, id(DISPID_XMLATTRIBUTE_NAME)] |
| HRESULT name( [retval, out] BSTR *p ); |
| |
| [propget, id(DISPID_XMLATTRIBUTE_VALUE)] |
| HRESULT value( [retval, out] BSTR *p ); |
| } |
| |
| [ |
| local, |
| object, |
| uuid(948c5ad3-c58d-11d0-9c0b-00c04fc99c8e) |
| ] |
| interface IXMLError : IUnknown |
| { |
| HRESULT GetErrorInfo([out]XML_ERROR *pErrorReturn); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(D9F1E15A-CCDB-11d0-9C0C-00C04FC99C8E) |
| ] |
| interface IXMLElementNotificationSink : IDispatch |
| { |
| [id(DISPID_XMLNOTIFSINK_CHILDADDED)] |
| HRESULT ChildAdded([in]IDispatch *pChildElem); |
| } |
| |
| [ |
| helpstring("Msxml"), |
| progid("Msxml"), |
| threading(both), |
| version(1.0), |
| uuid(cfc399af-d876-11d0-9c10-00c04fc99c8e) |
| ] |
| coclass XMLDocument |
| { |
| [default] interface IXMLDocument; |
| } |
| |
| } /* Library MSXML */ |