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