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