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 1.0"), 27 uuid(3f4daca7-160d-11d2-a8e9-00104b365c9f), 28 version(1.0) 29] 30library 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} 147