xref: /reactos/dll/win32/vbscript/vbsregexp55.idl (revision 1734f297)
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 regtypelib
20
21import "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]
30library 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}
273