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