xref: /reactos/dll/win32/vbscript/vbsregexp10.idl (revision c2c66aff)
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 1.0"),
27    uuid(3f4daca7-160d-11d2-a8e9-00104b365c9f),
28    version(1.0)
29]
30library VBScript_RegExp_10
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(3f4daca1-160d-11d2-a8e9-00104b365c9f)
86    ]
87    interface IMatch : IDispatch
88    {
89        [id(DISPID_VALUE), propget]
90        HRESULT Value([out, retval] BSTR *pValue);
91
92        [id(DISPID_MATCH_FIRSTINDEX), propget]
93        HRESULT FirstIndex([out, retval] LONG *pFirstIndex);
94
95        [id(DISPID_MATCH_LENGTH), propget]
96        HRESULT Length([out, retval] LONG *pLength);
97    }
98
99    [
100        dual,
101        hidden,
102        nonextensible,
103        odl,
104        oleautomation,
105        uuid(3f4daca2-160d-11d2-a8e9-00104b365c9f)
106    ]
107    interface IMatchCollection : IDispatch
108    {
109        [id(DISPID_VALUE), propget]
110        HRESULT Item(
111                [in] LONG index,
112                [out, retval] IDispatch **ppMatch);
113
114        [id(DISPID_MATCHCOLLECTION_COUNT), propget]
115        HRESULT Count([out, retval] LONG *pCount);
116
117        [id(DISPID_NEWENUM), propget]
118        HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
119    }
120
121    [
122        uuid(3f4daca4-160d-11d2-a8e9-00104b365c9f)
123    ]
124    coclass RegExp
125    {
126        [default] interface IRegExp;
127    }
128
129    [
130        noncreatable,
131        uuid(3f4daca5-160d-11d2-a8e9-00104b365c9f)
132    ]
133    coclass Match
134    {
135        [default] interface IMatch;
136    }
137
138    [
139        noncreatable,
140        uuid(3f4daca6-160d-11d2-a8e9-00104b365c9f)
141    ]
142    coclass MatchCollection
143    {
144        [default] interface IMatchCollection;
145    }
146}
147