* Sync up to trunk HEAD (r62975).
[reactos.git] / dll / win32 / vbscript / vbsregexp10.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 #pragma makedep regtypelib
20
21 import "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 ]
30 library 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 }