679e32142acf0a79aa971771fc373d16e185ecdd
[reactos.git] / rostests / winetests / vbscript / vbsregexp55.idl
1 /*
2 * Copyright 2013 Piotr Caban for CodeWeavers
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19 #pragma makedep header
20
21 import "oaidl.idl";
22
23 #include "vbscript_defs.h"
24
25 [
26 helpstring("Microsoft VBScript Regular Expressions 5.5"),
27 uuid(3f4daca7-160d-11d2-a8e9-00104b365c9f),
28 version(5.5)
29 ]
30 library VBScript_RegExp_55
31 {
32 importlib("stdole2.tlb");
33
34 [
35 dual,
36 hidden,
37 nonextensible,
38 odl,
39 oleautomation,
40 uuid(3f4daca0-160d-11d2-a8e9-00104b365c9f),
41 ]
42 interface IRegExp : IDispatch
43 {
44 [id(DISPID_REGEXP_PATTERN), propget]
45 HRESULT Pattern([out, retval] BSTR *pPattern);
46
47 [id(DISPID_REGEXP_PATTERN), propput]
48 HRESULT Pattern([in] BSTR pPattern);
49
50 [id(DISPID_REGEXP_IGNORECASE), propget]
51 HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase);
52
53 [id(DISPID_REGEXP_IGNORECASE), propput]
54 HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase);
55
56 [id(DISPID_REGEXP_GLOBAL), propget]
57 HRESULT Global([out, retval] VARIANT_BOOL *pGlobal);
58
59 [id(DISPID_REGEXP_GLOBAL), propput]
60 HRESULT Global([in] VARIANT_BOOL pGlobal);
61
62 [id(DISPID_REGEXP_EXECUTE)]
63 HRESULT Execute(
64 [in] BSTR sourceString,
65 [out, retval] IDispatch **ppMatches);
66
67 [id(DISPID_REGEXP_TEST)]
68 HRESULT Test(
69 [in] BSTR sourceString,
70 [out, retval] VARIANT_BOOL *pMatch);
71
72 [id(DISPID_REGEXP_REPLACE)]
73 HRESULT Replace(
74 [in] BSTR sourceString,
75 [in] BSTR replaceString,
76 [out, retval] BSTR *pDestString);
77 }
78
79 [
80 dual,
81 hidden,
82 nonextensible,
83 odl,
84 oleautomation,
85 uuid(3f4dacb0-160d-11d2-a8e9-00104b365c9f)
86 ]
87 interface IRegExp2 : IDispatch
88 {
89 [id(DISPID_REGEXP_PATTERN), propget]
90 HRESULT Pattern([out, retval] BSTR *pPattern);
91
92 [id(DISPID_REGEXP_PATTERN), propput]
93 HRESULT Pattern([in] BSTR pPattern);
94
95 [id(DISPID_REGEXP_IGNORECASE), propget]
96 HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase);
97
98 [id(DISPID_REGEXP_IGNORECASE), propput]
99 HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase);
100
101 [id(DISPID_REGEXP_GLOBAL), propget]
102 HRESULT Global([out, retval] VARIANT_BOOL *pGlobal);
103
104 [id(DISPID_REGEXP_GLOBAL), propput]
105 HRESULT Global([in] VARIANT_BOOL pGlobal);
106
107 [id(DISPID_REGEXP_MULTILINE), propget]
108 HRESULT Multiline([out, retval] VARIANT_BOOL *pMultiline);
109
110 [id(DISPID_REGEXP_MULTILINE), propput]
111 HRESULT Multiline([in] VARIANT_BOOL pMultiline);
112
113 [id(DISPID_REGEXP_EXECUTE)]
114 HRESULT Execute(
115 [in] BSTR sourceString,
116 [out, retval] IDispatch **ppMatches);
117
118 [id(DISPID_REGEXP_TEST)]
119 HRESULT Test(
120 [in] BSTR sourceString,
121 [out, retval] VARIANT_BOOL *pMatch);
122
123 [id(DISPID_REGEXP_REPLACE)]
124 HRESULT Replace(
125 [in] BSTR sourceString,
126 [in] VARIANT replaceVar,
127 [out, retval] BSTR *pDestString);
128 }
129
130 [
131 dual,
132 hidden,
133 nonextensible,
134 odl,
135 oleautomation,
136 uuid(3f4daca1-160d-11d2-a8e9-00104b365c9f)
137 ]
138 interface IMatch : IDispatch
139 {
140 [id(DISPID_VALUE), propget]
141 HRESULT Value([out, retval] BSTR *pValue);
142
143 [id(DISPID_MATCH_FIRSTINDEX), propget]
144 HRESULT FirstIndex([out, retval] LONG *pFirstIndex);
145
146 [id(DISPID_MATCH_LENGTH), propget]
147 HRESULT Length([out, retval] LONG *pLength);
148 }
149
150 [
151 odl,
152 uuid(3f4dacb1-160d-11d2-a8e9-00104b365c9f),
153 hidden,
154 dual,
155 nonextensible,
156 oleautomation
157 ]
158 interface IMatch2 : IDispatch
159 {
160 [id(DISPID_VALUE), propget]
161 HRESULT Value([out, retval] BSTR *pValue);
162
163 [id(DISPID_MATCH_FIRSTINDEX), propget]
164 HRESULT FirstIndex([out, retval] LONG *pFirstIndex);
165
166 [id(DISPID_MATCH_LENGTH), propget]
167 HRESULT Length([out, retval] LONG *pLength);
168
169 [id(DISPID_MATCH_SUBMATCHES), propget]
170 HRESULT SubMatches([out, retval] IDispatch **ppSubMatches);
171 }
172
173 [
174 dual,
175 hidden,
176 nonextensible,
177 odl,
178 oleautomation,
179 uuid(3f4daca2-160d-11d2-a8e9-00104b365c9f)
180 ]
181 interface IMatchCollection : IDispatch
182 {
183 [id(DISPID_VALUE), propget]
184 HRESULT Item(
185 [in] LONG index,
186 [out, retval] IDispatch **ppMatch);
187
188 [id(DISPID_MATCHCOLLECTION_COUNT), propget]
189 HRESULT Count([out, retval] LONG *pCount);
190
191 [id(DISPID_NEWENUM), propget]
192 HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
193 }
194
195 [
196 dual,
197 hidden,
198 nonextensible,
199 odl,
200 oleautomation,
201 uuid(3f4dacb2-160d-11d2-a8e9-00104b365c9f)
202 ]
203 interface IMatchCollection2 : IDispatch
204 {
205 [id(DISPID_VALUE), propget]
206 HRESULT Item(
207 [in] LONG index,
208 [out, retval] IDispatch **ppMatch);
209
210 [id(DISPID_MATCHCOLLECTION_COUNT), propget]
211 HRESULT Count([out, retval] LONG *pCount);
212
213 [id(DISPID_NEWENUM), propget]
214 HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
215 }
216
217 [
218 dual,
219 hidden,
220 nonextensible,
221 odl,
222 oleautomation,
223 uuid(3f4dacb3-160d-11d2-a8e9-00104b365c9f)
224 ]
225 interface ISubMatches : IDispatch
226 {
227 [id(DISPID_VALUE), propget]
228 HRESULT Item(
229 [in] LONG index,
230 [out, retval] VARIANT *pSubMatch);
231
232 [id(DISPID_SUBMATCHES_COUNT), propget]
233 HRESULT Count([out, retval] LONG *pCount);
234
235 [id(DISPID_NEWENUM), propget]
236 HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
237 }
238
239 [
240 uuid(3f4daca4-160d-11d2-a8e9-00104b365c9f)
241 ]
242 coclass RegExp
243 {
244 [default] interface IRegExp2;
245 }
246
247 [
248 noncreatable,
249 uuid(3f4daca5-160d-11d2-a8e9-00104b365c9f)
250 ]
251 coclass Match
252 {
253 [default] interface IMatch2;
254 }
255
256 [
257 noncreatable,
258 uuid(3f4daca6-160d-11d2-a8e9-00104b365c9f)
259 ]
260 coclass MatchCollection
261 {
262 [default] interface IMatchCollection2;
263 }
264
265 [
266 noncreatable,
267 uuid(3f4dacc0-160d-11d2-a8e9-00104b365c9f)
268 ]
269 coclass SubMatches {
270 [default] interface ISubMatches;
271 }
272 }