Module: wine Branch: master Commit: 8de70b313b4bed6dacd213153c060637cec0ae3c URL: http://source.winehq.org/git/wine.git/?a=commit;h=8de70b313b4bed6dacd213153c...
Author: Piotr Caban piotr@codeweavers.com Date: Fri Jan 18 12:40:30 2013 +0100
vbscript: Added VBScript.RegExp version 5.5 typelib.
---
dlls/vbscript/Makefile.in | 4 +- dlls/vbscript/vbscript_defs.h | 16 +++ dlls/vbscript/vbsregexp55.idl | 271 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 290 insertions(+), 1 deletions(-)
diff --git a/dlls/vbscript/Makefile.in b/dlls/vbscript/Makefile.in index 6f91958..070fb9c 100644 --- a/dlls/vbscript/Makefile.in +++ b/dlls/vbscript/Makefile.in @@ -20,7 +20,9 @@ IDL_H_SRCS = \ vbscript_classes.idl \ vbsglobal.idl
-IDL_TLB_SRCS = vbsglobal.idl +IDL_TLB_SRCS = \ + vbsglobal.idl \ + vbsregexp55.idl
IDL_R_SRCS = vbscript_classes.idl
diff --git a/dlls/vbscript/vbscript_defs.h b/dlls/vbscript/vbscript_defs.h index d9061c1..b4b904a 100644 --- a/dlls/vbscript/vbscript_defs.h +++ b/dlls/vbscript/vbscript_defs.h @@ -218,3 +218,19 @@ #define DISPID_ERR_SOURCE 4 #define DISPID_ERR_CLEAR 100 #define DISPID_ERR_RAISE 101 + +#define DISPID_SUBMATCHES_COUNT 1 + +#define DISPID_MATCHCOLLECTION_COUNT 1 + +#define DISPID_MATCH_FIRSTINDEX 10001 +#define DISPID_MATCH_LENGTH 10002 +#define DISPID_MATCH_SUBMATCHES 10003 + +#define DISPID_REGEXP_PATTERN 10001 +#define DISPID_REGEXP_IGNORECASE 10002 +#define DISPID_REGEXP_GLOBAL 10003 +#define DISPID_REGEXP_EXECUTE 10004 +#define DISPID_REGEXP_TEST 10005 +#define DISPID_REGEXP_REPLACE 10006 +#define DISPID_REGEXP_MULTILINE 10007 diff --git a/dlls/vbscript/vbsregexp55.idl b/dlls/vbscript/vbsregexp55.idl new file mode 100644 index 0000000..0e016b2 --- /dev/null +++ b/dlls/vbscript/vbsregexp55.idl @@ -0,0 +1,271 @@ +/* + * Copyright 2013 Piotr Caban for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "oaidl.idl"; + +#include "vbscript_defs.h" + +[ + helpstring("Microsoft VBScript Regular Expressions 5.5"), + id(3), + uuid(3f4daca7-160d-11d2-a8e9-00104b365c9f), + version(5.5) +] +library VBScript_RegExp_55 +{ + importlib("stdole2.tlb"); + + [ + dual, + hidden, + nonextensible, + odl, + oleautomation, + uuid(3f4daca0-160d-11d2-a8e9-00104b365c9f), + ] + interface IRegExp : IDispatch + { + [id(DISPID_REGEXP_PATTERN), propget] + HRESULT Pattern([out, retval] BSTR *pPattern); + + [id(DISPID_REGEXP_PATTERN), propput] + HRESULT Pattern([in] BSTR pPattern); + + [id(DISPID_REGEXP_IGNORECASE), propget] + HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase); + + [id(DISPID_REGEXP_IGNORECASE), propput] + HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase); + + [id(DISPID_REGEXP_GLOBAL), propget] + HRESULT Global([out, retval] VARIANT_BOOL *pGlobal); + + [id(DISPID_REGEXP_GLOBAL), propput] + HRESULT Global([in] VARIANT_BOOL pGlobal); + + [id(DISPID_REGEXP_EXECUTE)] + HRESULT Execute( + [in] BSTR sourceString, + [out, retval] IDispatch **ppMatches); + + [id(DISPID_REGEXP_TEST)] + HRESULT Test( + [in] BSTR sourceString, + [out, retval] VARIANT_BOOL *pMatch); + + [id(DISPID_REGEXP_REPLACE)] + HRESULT Replace( + [in] BSTR sourceString, + [in] BSTR replaceString, + [out, retval] BSTR *pDestString); + } + + [ + dual, + hidden, + nonextensible, + odl, + oleautomation, + uuid(3f4dacb0-160d-11d2-a8e9-00104b365c9f) + ] + interface IRegExp2 : IDispatch + { + [id(DISPID_REGEXP_PATTERN), propget] + HRESULT Pattern([out, retval] BSTR *pPattern); + + [id(DISPID_REGEXP_PATTERN), propput] + HRESULT Pattern([in] BSTR pPattern); + + [id(DISPID_REGEXP_IGNORECASE), propget] + HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase); + + [id(DISPID_REGEXP_IGNORECASE), propput] + HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase); + + [id(DISPID_REGEXP_GLOBAL), propget] + HRESULT Global([out, retval] VARIANT_BOOL *pGlobal); + + [id(DISPID_REGEXP_GLOBAL), propput] + HRESULT Global([in] VARIANT_BOOL pGlobal); + + [id(DISPID_REGEXP_MULTILINE), propget] + HRESULT Multiline([out, retval] VARIANT_BOOL *pMultiline); + + [id(DISPID_REGEXP_MULTILINE), propput] + HRESULT Multiline([in] VARIANT_BOOL pMultiline); + + [id(DISPID_REGEXP_EXECUTE)] + HRESULT Execute( + [in] BSTR sourceString, + [out, retval] IDispatch **ppMatches); + + [id(DISPID_REGEXP_TEST)] + HRESULT Test( + [in] BSTR sourceString, + [out, retval] VARIANT_BOOL *pMatch); + + [id(DISPID_REGEXP_REPLACE)] + HRESULT Replace( + [in] BSTR sourceString, + [in] VARIANT *replaceVar, + [out, retval] BSTR *pDestString); + } + + [ + dual, + hidden, + nonextensible, + odl, + oleautomation, + uuid(3f4daca1-160d-11d2-a8e9-00104b365c9f) + ] + interface IMatch : IDispatch + { + [id(DISPID_VALUE), propget] + HRESULT Value([out, retval] BSTR *pValue); + + [id(DISPID_MATCH_FIRSTINDEX), propget] + HRESULT FirstIndex([out, retval] LONG *pFirstIndex); + + [id(DISPID_MATCH_LENGTH), propget] + HRESULT Length([out, retval] LONG *pLength); + } + + [ + odl, + uuid(3f4dacb1-160d-11d2-a8e9-00104b365c9f), + hidden, + dual, + nonextensible, + oleautomation + ] + interface IMatch2 : IDispatch + { + [id(DISPID_VALUE), propget] + HRESULT Value([out, retval] BSTR *pValue); + + [id(DISPID_MATCH_FIRSTINDEX), propget] + HRESULT FirstIndex([out, retval] LONG *pFirstIndex); + + [id(DISPID_MATCH_LENGTH), propget] + HRESULT Length([out, retval] LONG *pLength); + + [id(DISPID_MATCH_SUBMATCHES), propget] + HRESULT SubMatches([out, retval] IDispatch **ppSubMatches); + } + + [ + dual, + hidden, + nonextensible, + odl, + oleautomation, + uuid(3f4daca2-160d-11d2-a8e9-00104b365c9f) + ] + interface IMatchCollection : IDispatch + { + [id(DISPID_VALUE), propget] + HRESULT Item( + [in] LONG index, + [out, retval] IDispatch **ppMatch); + + [id(DISPID_MATCHCOLLECTION_COUNT), propget] + HRESULT Count([out, retval] LONG *pCount); + + [id(DISPID_NEWENUM), propget] + HRESULT _NewEnum([out, retval] IUnknown **ppEnum); + } + + [ + dual, + hidden, + nonextensible, + odl, + oleautomation, + uuid(3f4dacb2-160d-11d2-a8e9-00104b365c9f) + ] + interface IMatchCollection2 : IDispatch + { + [id(DISPID_VALUE), propget] + HRESULT Item( + [in] LONG index, + [out, retval] IDispatch **ppMatch); + + [id(DISPID_MATCHCOLLECTION_COUNT), propget] + HRESULT Count([out, retval] LONG *pCount); + + [id(DISPID_NEWENUM), propget] + HRESULT _NewEnum([out, retval] IUnknown **ppEnum); + } + + [ + dual, + hidden, + nonextensible, + odl, + oleautomation, + uuid(3f4dacb3-160d-11d2-a8e9-00104b365c9f) + ] + interface ISubMatches : IDispatch + { + [id(DISPID_VALUE), propget] + HRESULT Item( + [in] LONG index, + [out, retval] VARIANT *pSubMatch); + + [id(DISPID_SUBMATCHES_COUNT), propget] + HRESULT Count([out, retval] LONG *pCount); + + [id(DISPID_NEWENUM), propget] + HRESULT _NewEnum([out, retval] IUnknown **ppEnum); + } + + [ + uuid(3f4daca4-160d-11d2-a8e9-00104b365c9f) + ] + coclass RegExp + { + [default] interface IRegExp2; + } + + [ + noncreatable, + uuid(3f4daca5-160d-11d2-a8e9-00104b365c9f) + ] + coclass Match + { + [default] interface IMatch2; + } + + [ + noncreatable, + uuid(3f4daca6-160d-11d2-a8e9-00104b365c9f) + ] + coclass MatchCollection + { + [default] interface IMatchCollection2; + } + + [ + noncreatable, + uuid(3f4dacc0-160d-11d2-a8e9-00104b365c9f) + ] + coclass SubMatches { + [default] interface ISubMatches; + } +}