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