Avoid dependency on thread.h.
[wine] / include / msxml.idl
1 /*
2  * Copyright (C) 2005 Mike McCormack
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 #include "msxmldid.h"
20
21 import "unknwn.idl";
22 import "wtypes.idl";
23 import "objidl.idl";
24 import "oaidl.idl";
25
26 [
27 local,
28 object,
29 odl,
30 dual,
31 oleautomation,
32 uuid(65725580-9b5d-11d0-9bfe-00c04fc99c8e)
33 ]
34 interface IXMLElementCollection : IDispatch
35 {
36     [propput, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)]
37     HRESULT length( [in] long v );
38
39     [propget, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)]
40     HRESULT length( [retval, out] long *p );
41
42     [propget, id(DISPID_XMLELEMENTCOLLECTION_NEWENUM)]
43     HRESULT _newEnum( [retval, out] IUnknown ** ppUnk );
44
45     [id(DISPID_XMLELEMENTCOLLECTION_ITEM)]
46     HRESULT item(
47             [optional, in] VARIANT var1,
48             [optional, in] VARIANT var2,
49             [retval, out] IDispatch ** ppDisp );
50 };
51
52 [
53 local,
54 object
55 ]
56 interface IXMLElement : IDispatch
57 {
58     [propget, id(DISPID_XMLELEMENT_TAGNAME)]
59     HRESULT tagName( [retval, out] BSTR *p);
60
61     [propput, id(DISPID_XMLELEMENT_TAGNAME)]
62     HRESULT tagName( [in] BSTR p );
63
64     [propget, id(DISPID_XMLELEMENT_PARENT)]
65     HRESULT parent( [retval, out] IXMLElement **parent );
66
67     [id(DISPID_XMLELEMENT_SETATTRIBUTE)]
68     HRESULT setAttribute(
69             [in] BSTR strPropertyName,
70             [in] VARIANT PropertyValue );
71
72     [id(DISPID_XMLELEMENT_GETATTRIBUTE)]
73     HRESULT getAttribute(
74             [in] BSTR strPropertyName,
75             [retval, out] VARIANT *PropertyValue );
76
77     [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE)]
78     HRESULT removeAttribute(
79             [in] BSTR strPropertyName );
80
81     [propget, id(DISPID_XMLELEMENT_CHILDREN)]
82     HRESULT children( [retval, out] IXMLElementCollection **p );
83
84     [propget, id(DISPID_XMLELEMENT_TYPE)]
85     HRESULT type( [retval, out] long *p );
86
87     [propget, id(DISPID_XMLELEMENT_TEXT)]
88     HRESULT text( [retval, out] BSTR *p );
89
90     [propput, id(DISPID_XMLELEMENT_TEXT)]
91     HRESULT text( [in] BSTR p );
92
93     [id(DISPID_XMLELEMENT_ADDCHILD)]
94     HRESULT addChild(
95             [in] IXMLElement *pChildElem,
96             [in] long lIndex,
97             [in] long lreserved );
98
99     [id(DISPID_XMLELEMENT_REMOVECHILD)]
100     HRESULT removeChild(
101             [in] IXMLElement *pChildElem );
102 };
103
104 [
105 local,
106 object
107 ]
108 interface IXMLDocument : IDispatch
109 {
110     [propget, id(DISPID_XMLDOCUMENT_ROOT)]
111     HRESULT root( [retval, out] IXMLElement **p );
112
113     [propget, id(DISPID_XMLDOCUMENT_FILESIZE)]
114     HRESULT fileSize( [retval, out] BSTR *p );
115
116     [propget, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE)]
117     HRESULT fileModifiedDate( [retval, out] BSTR *p );
118
119     [propget, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE)]
120     HRESULT fileUpdatedDate( [retval, out] BSTR *p );
121
122     [propget, id(DISPID_XMLDOCUMENT_URL)]
123     HRESULT URL( [retval, out] BSTR *p );
124
125     [propput, id(DISPID_XMLDOCUMENT_URL)]
126     HRESULT URL( [in] BSTR p );
127
128     [propget, id(DISPID_XMLDOCUMENT_MIMETYPE)]
129     HRESULT mimeType( [retval, out] BSTR *p );
130
131     [propget, id(DISPID_XMLDOCUMENT_READYSTATE)]
132     HRESULT readyState( [retval, out] long *p );
133
134     [propget, id(DISPID_XMLDOCUMENT_CHARSET)]
135     HRESULT charset( [retval, out] BSTR *p );
136
137     [propput, id(DISPID_XMLDOCUMENT_CHARSET)]
138     HRESULT charset( [in] BSTR p );
139
140     [propget, id(DISPID_XMLDOCUMENT_VERSION)]
141     HRESULT version( [retval, out] BSTR *p );
142
143     [propget, id(DISPID_XMLDOCUMENT_DOCTYPE)]
144     HRESULT doctype( [retval, out] BSTR *p );
145
146     [propget, id(DISPID_XMLDOCUMENT_DTDURL)]
147     HRESULT dtdURl( [retval, out] BSTR *p );
148
149     [id(DISPID_XMLDOCUMENT_CREATEELEMENT)]
150     HRESULT createElement(
151             [in] VARIANT vType,
152             [optional, in] VARIANT var1,
153             [retval, out] IXMLElement **ppElem );
154 };