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 header 20 21import "oaidl.idl"; 22 23#include "vbscript_defs.h" 24 25[ 26 helpstring("Microsoft VBScript Regular Expressions 5.5"), 27 id(3), 28 uuid(3f4daca7-160d-11d2-a8e9-00104b365c9f), 29 version(5.5) 30] 31library VBScript_RegExp_55 32{ 33 importlib("stdole2.tlb"); 34 35 [ 36 dual, 37 hidden, 38 nonextensible, 39 odl, 40 oleautomation, 41 uuid(3f4daca0-160d-11d2-a8e9-00104b365c9f), 42 ] 43 interface IRegExp : IDispatch 44 { 45 [id(DISPID_REGEXP_PATTERN), propget] 46 HRESULT Pattern([out, retval] BSTR *pPattern); 47 48 [id(DISPID_REGEXP_PATTERN), propput] 49 HRESULT Pattern([in] BSTR pPattern); 50 51 [id(DISPID_REGEXP_IGNORECASE), propget] 52 HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase); 53 54 [id(DISPID_REGEXP_IGNORECASE), propput] 55 HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase); 56 57 [id(DISPID_REGEXP_GLOBAL), propget] 58 HRESULT Global([out, retval] VARIANT_BOOL *pGlobal); 59 60 [id(DISPID_REGEXP_GLOBAL), propput] 61 HRESULT Global([in] VARIANT_BOOL pGlobal); 62 63 [id(DISPID_REGEXP_EXECUTE)] 64 HRESULT Execute( 65 [in] BSTR sourceString, 66 [out, retval] IDispatch **ppMatches); 67 68 [id(DISPID_REGEXP_TEST)] 69 HRESULT Test( 70 [in] BSTR sourceString, 71 [out, retval] VARIANT_BOOL *pMatch); 72 73 [id(DISPID_REGEXP_REPLACE)] 74 HRESULT Replace( 75 [in] BSTR sourceString, 76 [in] BSTR replaceString, 77 [out, retval] BSTR *pDestString); 78 } 79 80 [ 81 dual, 82 hidden, 83 nonextensible, 84 odl, 85 oleautomation, 86 uuid(3f4dacb0-160d-11d2-a8e9-00104b365c9f) 87 ] 88 interface IRegExp2 : IDispatch 89 { 90 [id(DISPID_REGEXP_PATTERN), propget] 91 HRESULT Pattern([out, retval] BSTR *pPattern); 92 93 [id(DISPID_REGEXP_PATTERN), propput] 94 HRESULT Pattern([in] BSTR pPattern); 95 96 [id(DISPID_REGEXP_IGNORECASE), propget] 97 HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase); 98 99 [id(DISPID_REGEXP_IGNORECASE), propput] 100 HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase); 101 102 [id(DISPID_REGEXP_GLOBAL), propget] 103 HRESULT Global([out, retval] VARIANT_BOOL *pGlobal); 104 105 [id(DISPID_REGEXP_GLOBAL), propput] 106 HRESULT Global([in] VARIANT_BOOL pGlobal); 107 108 [id(DISPID_REGEXP_MULTILINE), propget] 109 HRESULT Multiline([out, retval] VARIANT_BOOL *pMultiline); 110 111 [id(DISPID_REGEXP_MULTILINE), propput] 112 HRESULT Multiline([in] VARIANT_BOOL pMultiline); 113 114 [id(DISPID_REGEXP_EXECUTE)] 115 HRESULT Execute( 116 [in] BSTR sourceString, 117 [out, retval] IDispatch **ppMatches); 118 119 [id(DISPID_REGEXP_TEST)] 120 HRESULT Test( 121 [in] BSTR sourceString, 122 [out, retval] VARIANT_BOOL *pMatch); 123 124 [id(DISPID_REGEXP_REPLACE)] 125 HRESULT Replace( 126 [in] BSTR sourceString, 127 [in] VARIANT replaceVar, 128 [out, retval] BSTR *pDestString); 129 } 130 131 [ 132 dual, 133 hidden, 134 nonextensible, 135 odl, 136 oleautomation, 137 uuid(3f4daca1-160d-11d2-a8e9-00104b365c9f) 138 ] 139 interface IMatch : IDispatch 140 { 141 [id(DISPID_VALUE), propget] 142 HRESULT Value([out, retval] BSTR *pValue); 143 144 [id(DISPID_MATCH_FIRSTINDEX), propget] 145 HRESULT FirstIndex([out, retval] LONG *pFirstIndex); 146 147 [id(DISPID_MATCH_LENGTH), propget] 148 HRESULT Length([out, retval] LONG *pLength); 149 } 150 151 [ 152 odl, 153 uuid(3f4dacb1-160d-11d2-a8e9-00104b365c9f), 154 hidden, 155 dual, 156 nonextensible, 157 oleautomation 158 ] 159 interface IMatch2 : IDispatch 160 { 161 [id(DISPID_VALUE), propget] 162 HRESULT Value([out, retval] BSTR *pValue); 163 164 [id(DISPID_MATCH_FIRSTINDEX), propget] 165 HRESULT FirstIndex([out, retval] LONG *pFirstIndex); 166 167 [id(DISPID_MATCH_LENGTH), propget] 168 HRESULT Length([out, retval] LONG *pLength); 169 170 [id(DISPID_MATCH_SUBMATCHES), propget] 171 HRESULT SubMatches([out, retval] IDispatch **ppSubMatches); 172 } 173 174 [ 175 dual, 176 hidden, 177 nonextensible, 178 odl, 179 oleautomation, 180 uuid(3f4daca2-160d-11d2-a8e9-00104b365c9f) 181 ] 182 interface IMatchCollection : IDispatch 183 { 184 [id(DISPID_VALUE), propget] 185 HRESULT Item( 186 [in] LONG index, 187 [out, retval] IDispatch **ppMatch); 188 189 [id(DISPID_MATCHCOLLECTION_COUNT), propget] 190 HRESULT Count([out, retval] LONG *pCount); 191 192 [id(DISPID_NEWENUM), propget] 193 HRESULT _NewEnum([out, retval] IUnknown **ppEnum); 194 } 195 196 [ 197 dual, 198 hidden, 199 nonextensible, 200 odl, 201 oleautomation, 202 uuid(3f4dacb2-160d-11d2-a8e9-00104b365c9f) 203 ] 204 interface IMatchCollection2 : IDispatch 205 { 206 [id(DISPID_VALUE), propget] 207 HRESULT Item( 208 [in] LONG index, 209 [out, retval] IDispatch **ppMatch); 210 211 [id(DISPID_MATCHCOLLECTION_COUNT), propget] 212 HRESULT Count([out, retval] LONG *pCount); 213 214 [id(DISPID_NEWENUM), propget] 215 HRESULT _NewEnum([out, retval] IUnknown **ppEnum); 216 } 217 218 [ 219 dual, 220 hidden, 221 nonextensible, 222 odl, 223 oleautomation, 224 uuid(3f4dacb3-160d-11d2-a8e9-00104b365c9f) 225 ] 226 interface ISubMatches : IDispatch 227 { 228 [id(DISPID_VALUE), propget] 229 HRESULT Item( 230 [in] LONG index, 231 [out, retval] VARIANT *pSubMatch); 232 233 [id(DISPID_SUBMATCHES_COUNT), propget] 234 HRESULT Count([out, retval] LONG *pCount); 235 236 [id(DISPID_NEWENUM), propget] 237 HRESULT _NewEnum([out, retval] IUnknown **ppEnum); 238 } 239 240 [ 241 uuid(3f4daca4-160d-11d2-a8e9-00104b365c9f) 242 ] 243 coclass RegExp 244 { 245 [default] interface IRegExp2; 246 } 247 248 [ 249 noncreatable, 250 uuid(3f4daca5-160d-11d2-a8e9-00104b365c9f) 251 ] 252 coclass Match 253 { 254 [default] interface IMatch2; 255 } 256 257 [ 258 noncreatable, 259 uuid(3f4daca6-160d-11d2-a8e9-00104b365c9f) 260 ] 261 coclass MatchCollection 262 { 263 [default] interface IMatchCollection2; 264 } 265 266 [ 267 noncreatable, 268 uuid(3f4dacc0-160d-11d2-a8e9-00104b365c9f) 269 ] 270 coclass SubMatches { 271 [default] interface ISubMatches; 272 } 273} 274