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 5.5"), 27 uuid(3f4daca7-160d-11d2-a8e9-00104b365c9f), 28 version(5.5) 29] 30library VBScript_RegExp_55 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(3f4dacb0-160d-11d2-a8e9-00104b365c9f) 86 ] 87 interface IRegExp2 : IDispatch 88 { 89 [id(DISPID_REGEXP_PATTERN), propget] 90 HRESULT Pattern([out, retval] BSTR *pPattern); 91 92 [id(DISPID_REGEXP_PATTERN), propput] 93 HRESULT Pattern([in] BSTR pPattern); 94 95 [id(DISPID_REGEXP_IGNORECASE), propget] 96 HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase); 97 98 [id(DISPID_REGEXP_IGNORECASE), propput] 99 HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase); 100 101 [id(DISPID_REGEXP_GLOBAL), propget] 102 HRESULT Global([out, retval] VARIANT_BOOL *pGlobal); 103 104 [id(DISPID_REGEXP_GLOBAL), propput] 105 HRESULT Global([in] VARIANT_BOOL pGlobal); 106 107 [id(DISPID_REGEXP_MULTILINE), propget] 108 HRESULT Multiline([out, retval] VARIANT_BOOL *pMultiline); 109 110 [id(DISPID_REGEXP_MULTILINE), propput] 111 HRESULT Multiline([in] VARIANT_BOOL pMultiline); 112 113 [id(DISPID_REGEXP_EXECUTE)] 114 HRESULT Execute( 115 [in] BSTR sourceString, 116 [out, retval] IDispatch **ppMatches); 117 118 [id(DISPID_REGEXP_TEST)] 119 HRESULT Test( 120 [in] BSTR sourceString, 121 [out, retval] VARIANT_BOOL *pMatch); 122 123 [id(DISPID_REGEXP_REPLACE)] 124 HRESULT Replace( 125 [in] BSTR sourceString, 126 [in] VARIANT replaceVar, 127 [out, retval] BSTR *pDestString); 128 } 129 130 [ 131 dual, 132 hidden, 133 nonextensible, 134 odl, 135 oleautomation, 136 uuid(3f4daca1-160d-11d2-a8e9-00104b365c9f) 137 ] 138 interface IMatch : IDispatch 139 { 140 [id(DISPID_VALUE), propget] 141 HRESULT Value([out, retval] BSTR *pValue); 142 143 [id(DISPID_MATCH_FIRSTINDEX), propget] 144 HRESULT FirstIndex([out, retval] LONG *pFirstIndex); 145 146 [id(DISPID_MATCH_LENGTH), propget] 147 HRESULT Length([out, retval] LONG *pLength); 148 } 149 150 [ 151 odl, 152 uuid(3f4dacb1-160d-11d2-a8e9-00104b365c9f), 153 hidden, 154 dual, 155 nonextensible, 156 oleautomation 157 ] 158 interface IMatch2 : IDispatch 159 { 160 [id(DISPID_VALUE), propget] 161 HRESULT Value([out, retval] BSTR *pValue); 162 163 [id(DISPID_MATCH_FIRSTINDEX), propget] 164 HRESULT FirstIndex([out, retval] LONG *pFirstIndex); 165 166 [id(DISPID_MATCH_LENGTH), propget] 167 HRESULT Length([out, retval] LONG *pLength); 168 169 [id(DISPID_MATCH_SUBMATCHES), propget] 170 HRESULT SubMatches([out, retval] IDispatch **ppSubMatches); 171 } 172 173 [ 174 dual, 175 hidden, 176 nonextensible, 177 odl, 178 oleautomation, 179 uuid(3f4daca2-160d-11d2-a8e9-00104b365c9f) 180 ] 181 interface IMatchCollection : IDispatch 182 { 183 [id(DISPID_VALUE), propget] 184 HRESULT Item( 185 [in] LONG index, 186 [out, retval] IDispatch **ppMatch); 187 188 [id(DISPID_MATCHCOLLECTION_COUNT), propget] 189 HRESULT Count([out, retval] LONG *pCount); 190 191 [id(DISPID_NEWENUM), propget] 192 HRESULT _NewEnum([out, retval] IUnknown **ppEnum); 193 } 194 195 [ 196 dual, 197 hidden, 198 nonextensible, 199 odl, 200 oleautomation, 201 uuid(3f4dacb2-160d-11d2-a8e9-00104b365c9f) 202 ] 203 interface IMatchCollection2 : IDispatch 204 { 205 [id(DISPID_VALUE), propget] 206 HRESULT Item( 207 [in] LONG index, 208 [out, retval] IDispatch **ppMatch); 209 210 [id(DISPID_MATCHCOLLECTION_COUNT), propget] 211 HRESULT Count([out, retval] LONG *pCount); 212 213 [id(DISPID_NEWENUM), propget] 214 HRESULT _NewEnum([out, retval] IUnknown **ppEnum); 215 } 216 217 [ 218 dual, 219 hidden, 220 nonextensible, 221 odl, 222 oleautomation, 223 uuid(3f4dacb3-160d-11d2-a8e9-00104b365c9f) 224 ] 225 interface ISubMatches : IDispatch 226 { 227 [id(DISPID_VALUE), propget] 228 HRESULT Item( 229 [in] LONG index, 230 [out, retval] VARIANT *pSubMatch); 231 232 [id(DISPID_SUBMATCHES_COUNT), propget] 233 HRESULT Count([out, retval] LONG *pCount); 234 235 [id(DISPID_NEWENUM), propget] 236 HRESULT _NewEnum([out, retval] IUnknown **ppEnum); 237 } 238 239 [ 240 uuid(3f4daca4-160d-11d2-a8e9-00104b365c9f) 241 ] 242 coclass RegExp 243 { 244 [default] interface IRegExp2; 245 } 246 247 [ 248 noncreatable, 249 uuid(3f4daca5-160d-11d2-a8e9-00104b365c9f) 250 ] 251 coclass Match 252 { 253 [default] interface IMatch2; 254 } 255 256 [ 257 noncreatable, 258 uuid(3f4daca6-160d-11d2-a8e9-00104b365c9f) 259 ] 260 coclass MatchCollection 261 { 262 [default] interface IMatchCollection2; 263 } 264 265 [ 266 noncreatable, 267 uuid(3f4dacc0-160d-11d2-a8e9-00104b365c9f) 268 ] 269 coclass SubMatches { 270 [default] interface ISubMatches; 271 } 272} 273