Piotr Caban : vbscript: Added VBScript.RegExp version 5.5 typelib.
Alexandre Julliard
julliard at winehq.org
Fri Jan 18 12:07:37 CST 2013
Module: wine
Branch: master
Commit: 8de70b313b4bed6dacd213153c060637cec0ae3c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8de70b313b4bed6dacd213153c060637cec0ae3c
Author: Piotr Caban <piotr at 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;
+ }
+}
More information about the wine-cvs
mailing list