xref: /reactos/dll/win32/vbscript/vbsregexp55.idl (revision c2c66aff)
1*c2c66affSColin Finck/*
2*c2c66affSColin Finck * Copyright 2013 Piotr Caban for CodeWeavers
3*c2c66affSColin Finck *
4*c2c66affSColin Finck * This library is free software; you can redistribute it and/or
5*c2c66affSColin Finck * modify it under the terms of the GNU Lesser General Public
6*c2c66affSColin Finck * License as published by the Free Software Foundation; either
7*c2c66affSColin Finck * version 2.1 of the License, or (at your option) any later version.
8*c2c66affSColin Finck *
9*c2c66affSColin Finck * This library is distributed in the hope that it will be useful,
10*c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of
11*c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12*c2c66affSColin Finck * Lesser General Public License for more details.
13*c2c66affSColin Finck *
14*c2c66affSColin Finck * You should have received a copy of the GNU Lesser General Public
15*c2c66affSColin Finck * License along with this library; if not, write to the Free Software
16*c2c66affSColin Finck * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17*c2c66affSColin Finck */
18*c2c66affSColin Finck
19*c2c66affSColin Finck#pragma makedep regtypelib
20*c2c66affSColin Finck
21*c2c66affSColin Finckimport "oaidl.idl";
22*c2c66affSColin Finck
23*c2c66affSColin Finck#include "vbscript_defs.h"
24*c2c66affSColin Finck
25*c2c66affSColin Finck[
26*c2c66affSColin Finck    helpstring("Microsoft VBScript Regular Expressions 5.5"),
27*c2c66affSColin Finck    uuid(3f4daca7-160d-11d2-a8e9-00104b365c9f),
28*c2c66affSColin Finck    version(5.5)
29*c2c66affSColin Finck]
30*c2c66affSColin Fincklibrary VBScript_RegExp_55
31*c2c66affSColin Finck{
32*c2c66affSColin Finck    importlib("stdole2.tlb");
33*c2c66affSColin Finck
34*c2c66affSColin Finck    [
35*c2c66affSColin Finck        dual,
36*c2c66affSColin Finck        hidden,
37*c2c66affSColin Finck        nonextensible,
38*c2c66affSColin Finck        odl,
39*c2c66affSColin Finck        oleautomation,
40*c2c66affSColin Finck        uuid(3f4daca0-160d-11d2-a8e9-00104b365c9f),
41*c2c66affSColin Finck    ]
42*c2c66affSColin Finck    interface IRegExp : IDispatch
43*c2c66affSColin Finck    {
44*c2c66affSColin Finck        [id(DISPID_REGEXP_PATTERN), propget]
45*c2c66affSColin Finck        HRESULT Pattern([out, retval] BSTR *pPattern);
46*c2c66affSColin Finck
47*c2c66affSColin Finck        [id(DISPID_REGEXP_PATTERN), propput]
48*c2c66affSColin Finck        HRESULT Pattern([in] BSTR pPattern);
49*c2c66affSColin Finck
50*c2c66affSColin Finck        [id(DISPID_REGEXP_IGNORECASE), propget]
51*c2c66affSColin Finck        HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase);
52*c2c66affSColin Finck
53*c2c66affSColin Finck        [id(DISPID_REGEXP_IGNORECASE), propput]
54*c2c66affSColin Finck        HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase);
55*c2c66affSColin Finck
56*c2c66affSColin Finck        [id(DISPID_REGEXP_GLOBAL), propget]
57*c2c66affSColin Finck        HRESULT Global([out, retval] VARIANT_BOOL *pGlobal);
58*c2c66affSColin Finck
59*c2c66affSColin Finck        [id(DISPID_REGEXP_GLOBAL), propput]
60*c2c66affSColin Finck        HRESULT Global([in] VARIANT_BOOL pGlobal);
61*c2c66affSColin Finck
62*c2c66affSColin Finck        [id(DISPID_REGEXP_EXECUTE)]
63*c2c66affSColin Finck        HRESULT Execute(
64*c2c66affSColin Finck                [in] BSTR sourceString,
65*c2c66affSColin Finck                [out, retval] IDispatch **ppMatches);
66*c2c66affSColin Finck
67*c2c66affSColin Finck        [id(DISPID_REGEXP_TEST)]
68*c2c66affSColin Finck        HRESULT Test(
69*c2c66affSColin Finck                [in] BSTR sourceString,
70*c2c66affSColin Finck                [out, retval] VARIANT_BOOL *pMatch);
71*c2c66affSColin Finck
72*c2c66affSColin Finck        [id(DISPID_REGEXP_REPLACE)]
73*c2c66affSColin Finck        HRESULT Replace(
74*c2c66affSColin Finck                [in] BSTR sourceString,
75*c2c66affSColin Finck                [in] BSTR replaceString,
76*c2c66affSColin Finck                [out, retval] BSTR *pDestString);
77*c2c66affSColin Finck    }
78*c2c66affSColin Finck
79*c2c66affSColin Finck    [
80*c2c66affSColin Finck        dual,
81*c2c66affSColin Finck        hidden,
82*c2c66affSColin Finck        nonextensible,
83*c2c66affSColin Finck        odl,
84*c2c66affSColin Finck        oleautomation,
85*c2c66affSColin Finck        uuid(3f4dacb0-160d-11d2-a8e9-00104b365c9f)
86*c2c66affSColin Finck    ]
87*c2c66affSColin Finck    interface IRegExp2 : IDispatch
88*c2c66affSColin Finck    {
89*c2c66affSColin Finck        [id(DISPID_REGEXP_PATTERN), propget]
90*c2c66affSColin Finck        HRESULT Pattern([out, retval] BSTR *pPattern);
91*c2c66affSColin Finck
92*c2c66affSColin Finck        [id(DISPID_REGEXP_PATTERN), propput]
93*c2c66affSColin Finck        HRESULT Pattern([in] BSTR pPattern);
94*c2c66affSColin Finck
95*c2c66affSColin Finck        [id(DISPID_REGEXP_IGNORECASE), propget]
96*c2c66affSColin Finck        HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase);
97*c2c66affSColin Finck
98*c2c66affSColin Finck        [id(DISPID_REGEXP_IGNORECASE), propput]
99*c2c66affSColin Finck        HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase);
100*c2c66affSColin Finck
101*c2c66affSColin Finck        [id(DISPID_REGEXP_GLOBAL), propget]
102*c2c66affSColin Finck        HRESULT Global([out, retval] VARIANT_BOOL *pGlobal);
103*c2c66affSColin Finck
104*c2c66affSColin Finck        [id(DISPID_REGEXP_GLOBAL), propput]
105*c2c66affSColin Finck        HRESULT Global([in] VARIANT_BOOL pGlobal);
106*c2c66affSColin Finck
107*c2c66affSColin Finck        [id(DISPID_REGEXP_MULTILINE), propget]
108*c2c66affSColin Finck        HRESULT Multiline([out, retval] VARIANT_BOOL *pMultiline);
109*c2c66affSColin Finck
110*c2c66affSColin Finck        [id(DISPID_REGEXP_MULTILINE), propput]
111*c2c66affSColin Finck        HRESULT Multiline([in] VARIANT_BOOL pMultiline);
112*c2c66affSColin Finck
113*c2c66affSColin Finck        [id(DISPID_REGEXP_EXECUTE)]
114*c2c66affSColin Finck        HRESULT Execute(
115*c2c66affSColin Finck                [in] BSTR sourceString,
116*c2c66affSColin Finck                [out, retval] IDispatch **ppMatches);
117*c2c66affSColin Finck
118*c2c66affSColin Finck        [id(DISPID_REGEXP_TEST)]
119*c2c66affSColin Finck        HRESULT Test(
120*c2c66affSColin Finck                [in] BSTR sourceString,
121*c2c66affSColin Finck                [out, retval] VARIANT_BOOL *pMatch);
122*c2c66affSColin Finck
123*c2c66affSColin Finck        [id(DISPID_REGEXP_REPLACE)]
124*c2c66affSColin Finck        HRESULT Replace(
125*c2c66affSColin Finck                [in] BSTR sourceString,
126*c2c66affSColin Finck                [in] VARIANT replaceVar,
127*c2c66affSColin Finck                [out, retval] BSTR *pDestString);
128*c2c66affSColin Finck    }
129*c2c66affSColin Finck
130*c2c66affSColin Finck    [
131*c2c66affSColin Finck        dual,
132*c2c66affSColin Finck        hidden,
133*c2c66affSColin Finck        nonextensible,
134*c2c66affSColin Finck        odl,
135*c2c66affSColin Finck        oleautomation,
136*c2c66affSColin Finck        uuid(3f4daca1-160d-11d2-a8e9-00104b365c9f)
137*c2c66affSColin Finck    ]
138*c2c66affSColin Finck    interface IMatch : IDispatch
139*c2c66affSColin Finck    {
140*c2c66affSColin Finck        [id(DISPID_VALUE), propget]
141*c2c66affSColin Finck        HRESULT Value([out, retval] BSTR *pValue);
142*c2c66affSColin Finck
143*c2c66affSColin Finck        [id(DISPID_MATCH_FIRSTINDEX), propget]
144*c2c66affSColin Finck        HRESULT FirstIndex([out, retval] LONG *pFirstIndex);
145*c2c66affSColin Finck
146*c2c66affSColin Finck        [id(DISPID_MATCH_LENGTH), propget]
147*c2c66affSColin Finck        HRESULT Length([out, retval] LONG *pLength);
148*c2c66affSColin Finck    }
149*c2c66affSColin Finck
150*c2c66affSColin Finck    [
151*c2c66affSColin Finck        odl,
152*c2c66affSColin Finck        uuid(3f4dacb1-160d-11d2-a8e9-00104b365c9f),
153*c2c66affSColin Finck        hidden,
154*c2c66affSColin Finck        dual,
155*c2c66affSColin Finck        nonextensible,
156*c2c66affSColin Finck        oleautomation
157*c2c66affSColin Finck    ]
158*c2c66affSColin Finck    interface IMatch2 : IDispatch
159*c2c66affSColin Finck    {
160*c2c66affSColin Finck        [id(DISPID_VALUE), propget]
161*c2c66affSColin Finck        HRESULT Value([out, retval] BSTR *pValue);
162*c2c66affSColin Finck
163*c2c66affSColin Finck        [id(DISPID_MATCH_FIRSTINDEX), propget]
164*c2c66affSColin Finck        HRESULT FirstIndex([out, retval] LONG *pFirstIndex);
165*c2c66affSColin Finck
166*c2c66affSColin Finck        [id(DISPID_MATCH_LENGTH), propget]
167*c2c66affSColin Finck        HRESULT Length([out, retval] LONG *pLength);
168*c2c66affSColin Finck
169*c2c66affSColin Finck        [id(DISPID_MATCH_SUBMATCHES), propget]
170*c2c66affSColin Finck        HRESULT SubMatches([out, retval] IDispatch **ppSubMatches);
171*c2c66affSColin Finck    }
172*c2c66affSColin Finck
173*c2c66affSColin Finck    [
174*c2c66affSColin Finck        dual,
175*c2c66affSColin Finck        hidden,
176*c2c66affSColin Finck        nonextensible,
177*c2c66affSColin Finck        odl,
178*c2c66affSColin Finck        oleautomation,
179*c2c66affSColin Finck        uuid(3f4daca2-160d-11d2-a8e9-00104b365c9f)
180*c2c66affSColin Finck    ]
181*c2c66affSColin Finck    interface IMatchCollection : IDispatch
182*c2c66affSColin Finck    {
183*c2c66affSColin Finck        [id(DISPID_VALUE), propget]
184*c2c66affSColin Finck        HRESULT Item(
185*c2c66affSColin Finck                [in] LONG index,
186*c2c66affSColin Finck                [out, retval] IDispatch **ppMatch);
187*c2c66affSColin Finck
188*c2c66affSColin Finck        [id(DISPID_MATCHCOLLECTION_COUNT), propget]
189*c2c66affSColin Finck        HRESULT Count([out, retval] LONG *pCount);
190*c2c66affSColin Finck
191*c2c66affSColin Finck        [id(DISPID_NEWENUM), propget]
192*c2c66affSColin Finck        HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
193*c2c66affSColin Finck    }
194*c2c66affSColin Finck
195*c2c66affSColin Finck    [
196*c2c66affSColin Finck        dual,
197*c2c66affSColin Finck        hidden,
198*c2c66affSColin Finck        nonextensible,
199*c2c66affSColin Finck        odl,
200*c2c66affSColin Finck        oleautomation,
201*c2c66affSColin Finck        uuid(3f4dacb2-160d-11d2-a8e9-00104b365c9f)
202*c2c66affSColin Finck    ]
203*c2c66affSColin Finck    interface IMatchCollection2 : IDispatch
204*c2c66affSColin Finck    {
205*c2c66affSColin Finck        [id(DISPID_VALUE), propget]
206*c2c66affSColin Finck        HRESULT Item(
207*c2c66affSColin Finck                [in] LONG index,
208*c2c66affSColin Finck                [out, retval] IDispatch **ppMatch);
209*c2c66affSColin Finck
210*c2c66affSColin Finck        [id(DISPID_MATCHCOLLECTION_COUNT), propget]
211*c2c66affSColin Finck        HRESULT Count([out, retval] LONG *pCount);
212*c2c66affSColin Finck
213*c2c66affSColin Finck        [id(DISPID_NEWENUM), propget]
214*c2c66affSColin Finck        HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
215*c2c66affSColin Finck    }
216*c2c66affSColin Finck
217*c2c66affSColin Finck    [
218*c2c66affSColin Finck        dual,
219*c2c66affSColin Finck        hidden,
220*c2c66affSColin Finck        nonextensible,
221*c2c66affSColin Finck        odl,
222*c2c66affSColin Finck        oleautomation,
223*c2c66affSColin Finck        uuid(3f4dacb3-160d-11d2-a8e9-00104b365c9f)
224*c2c66affSColin Finck    ]
225*c2c66affSColin Finck    interface ISubMatches : IDispatch
226*c2c66affSColin Finck    {
227*c2c66affSColin Finck        [id(DISPID_VALUE), propget]
228*c2c66affSColin Finck        HRESULT Item(
229*c2c66affSColin Finck                [in] LONG index,
230*c2c66affSColin Finck                [out, retval] VARIANT *pSubMatch);
231*c2c66affSColin Finck
232*c2c66affSColin Finck        [id(DISPID_SUBMATCHES_COUNT), propget]
233*c2c66affSColin Finck        HRESULT Count([out, retval] LONG *pCount);
234*c2c66affSColin Finck
235*c2c66affSColin Finck        [id(DISPID_NEWENUM), propget]
236*c2c66affSColin Finck        HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
237*c2c66affSColin Finck    }
238*c2c66affSColin Finck
239*c2c66affSColin Finck    [
240*c2c66affSColin Finck        uuid(3f4daca4-160d-11d2-a8e9-00104b365c9f)
241*c2c66affSColin Finck    ]
242*c2c66affSColin Finck    coclass RegExp
243*c2c66affSColin Finck    {
244*c2c66affSColin Finck        [default] interface IRegExp2;
245*c2c66affSColin Finck    }
246*c2c66affSColin Finck
247*c2c66affSColin Finck    [
248*c2c66affSColin Finck        noncreatable,
249*c2c66affSColin Finck        uuid(3f4daca5-160d-11d2-a8e9-00104b365c9f)
250*c2c66affSColin Finck    ]
251*c2c66affSColin Finck    coclass Match
252*c2c66affSColin Finck    {
253*c2c66affSColin Finck        [default] interface IMatch2;
254*c2c66affSColin Finck    }
255*c2c66affSColin Finck
256*c2c66affSColin Finck    [
257*c2c66affSColin Finck        noncreatable,
258*c2c66affSColin Finck        uuid(3f4daca6-160d-11d2-a8e9-00104b365c9f)
259*c2c66affSColin Finck    ]
260*c2c66affSColin Finck    coclass MatchCollection
261*c2c66affSColin Finck    {
262*c2c66affSColin Finck        [default] interface IMatchCollection2;
263*c2c66affSColin Finck    }
264*c2c66affSColin Finck
265*c2c66affSColin Finck    [
266*c2c66affSColin Finck        noncreatable,
267*c2c66affSColin Finck        uuid(3f4dacc0-160d-11d2-a8e9-00104b365c9f)
268*c2c66affSColin Finck    ]
269*c2c66affSColin Finck    coclass SubMatches {
270*c2c66affSColin Finck        [default] interface ISubMatches;
271*c2c66affSColin Finck    }
272*c2c66affSColin Finck}
273