d1f181ea184cba133909757c5aff289a52484741
[reactos.git] / reactos / 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 import "oaidl.idl";
20
21 #include "vbscript_defs.h"
22
23 [
24 helpstring("Microsoft VBScript Regular Expressions 1.0"),
25 uuid(3f4daca7-160d-11d2-a8e9-00104b365c9f),
26 version(1.0)
27 ]
28 library VBScript_RegExp_10
29 {
30 importlib("stdole2.tlb");
31
32 [
33 dual,
34 hidden,
35 nonextensible,
36 odl,
37 oleautomation,
38 uuid(3f4daca0-160d-11d2-a8e9-00104b365c9f),
39 ]
40 interface IRegExp : IDispatch
41 {
42 [id(DISPID_REGEXP_PATTERN), propget]
43 HRESULT Pattern([out, retval] BSTR *pPattern);
44
45 [id(DISPID_REGEXP_PATTERN), propput]
46 HRESULT Pattern([in] BSTR pPattern);
47
48 [id(DISPID_REGEXP_IGNORECASE), propget]
49 HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase);
50
51 [id(DISPID_REGEXP_IGNORECASE), propput]
52 HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase);
53
54 [id(DISPID_REGEXP_GLOBAL), propget]
55 HRESULT Global([out, retval] VARIANT_BOOL *pGlobal);
56
57 [id(DISPID_REGEXP_GLOBAL), propput]
58 HRESULT Global([in] VARIANT_BOOL pGlobal);
59
60 [id(DISPID_REGEXP_EXECUTE)]
61 HRESULT Execute(
62 [in] BSTR sourceString,
63 [out, retval] IDispatch **ppMatches);
64
65 [id(DISPID_REGEXP_TEST)]
66 HRESULT Test(
67 [in] BSTR sourceString,
68 [out, retval] VARIANT_BOOL *pMatch);
69
70 [id(DISPID_REGEXP_REPLACE)]
71 HRESULT Replace(
72 [in] BSTR sourceString,
73 [in] BSTR replaceString,
74 [out, retval] BSTR *pDestString);
75 }
76
77 [
78 dual,
79 hidden,
80 nonextensible,
81 odl,
82 oleautomation,
83 uuid(3f4daca1-160d-11d2-a8e9-00104b365c9f)
84 ]
85 interface IMatch : IDispatch
86 {
87 [id(DISPID_VALUE), propget]
88 HRESULT Value([out, retval] BSTR *pValue);
89
90 [id(DISPID_MATCH_FIRSTINDEX), propget]
91 HRESULT FirstIndex([out, retval] LONG *pFirstIndex);
92
93 [id(DISPID_MATCH_LENGTH), propget]
94 HRESULT Length([out, retval] LONG *pLength);
95 }
96
97 [
98 dual,
99 hidden,
100 nonextensible,
101 odl,
102 oleautomation,
103 uuid(3f4daca2-160d-11d2-a8e9-00104b365c9f)
104 ]
105 interface IMatchCollection : IDispatch
106 {
107 [id(DISPID_VALUE), propget]
108 HRESULT Item(
109 [in] LONG index,
110 [out, retval] IDispatch **ppMatch);
111
112 [id(DISPID_MATCHCOLLECTION_COUNT), propget]
113 HRESULT Count([out, retval] LONG *pCount);
114
115 [id(DISPID_NEWENUM), propget]
116 HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
117 }
118
119 [
120 uuid(3f4daca4-160d-11d2-a8e9-00104b365c9f)
121 ]
122 coclass RegExp
123 {
124 [default] interface IRegExp;
125 }
126
127 [
128 noncreatable,
129 uuid(3f4daca5-160d-11d2-a8e9-00104b365c9f)
130 ]
131 coclass Match
132 {
133 [default] interface IMatch;
134 }
135
136 [
137 noncreatable,
138 uuid(3f4daca6-160d-11d2-a8e9-00104b365c9f)
139 ]
140 coclass MatchCollection
141 {
142 [default] interface IMatchCollection;
143 }
144 }