[PATCH v4 2/3] ia2comproxy: Introduce new proxy stub DLL for IAccessible2.

Connor McAdams wine at gitlab.winehq.org
Wed Jun 15 13:30:50 CDT 2022


From: Connor McAdams <cmcadams at codeweavers.com>

Signed-off-by: Connor McAdams <cmcadams at codeweavers.com>
---
 configure                           |  2 ++
 configure.ac                        |  1 +
 dlls/ia2comproxy/Makefile.in        |  7 +++++++
 dlls/ia2comproxy/ia2_classes.idl    | 30 +++++++++++++++++++++++++++++
 dlls/ia2comproxy/ia2comproxy.spec   |  4 ++++
 dlls/ia2comproxy/oleacc_classes.idl | 21 ++++++++++++++++++++
 6 files changed, 65 insertions(+)
 create mode 100644 dlls/ia2comproxy/Makefile.in
 create mode 100644 dlls/ia2comproxy/ia2_classes.idl
 create mode 100644 dlls/ia2comproxy/ia2comproxy.spec
 create mode 100644 dlls/ia2comproxy/oleacc_classes.idl

diff --git a/configure b/configure
index faf7e0e1a8e..51a47e809e5 100755
--- a/configure
+++ b/configure
@@ -1120,6 +1120,7 @@ enable_hlink
 enable_hnetcfg
 enable_http_sys
 enable_httpapi
+enable_ia2comproxy
 enable_iccvid
 enable_icmp
 enable_ieframe
@@ -21492,6 +21493,7 @@ wine_fn_config_makefile dlls/hnetcfg/tests enable_tests
 wine_fn_config_makefile dlls/http.sys enable_http_sys
 wine_fn_config_makefile dlls/httpapi enable_httpapi
 wine_fn_config_makefile dlls/httpapi/tests enable_tests
+wine_fn_config_makefile dlls/ia2comproxy enable_ia2comproxy
 wine_fn_config_makefile dlls/iccvid enable_iccvid
 wine_fn_config_makefile dlls/icmp enable_icmp
 wine_fn_config_makefile dlls/ieframe enable_ieframe
diff --git a/configure.ac b/configure.ac
index fbdfbb05b3b..9ad1b19164c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2661,6 +2661,7 @@ WINE_CONFIG_MAKEFILE(dlls/hnetcfg/tests)
 WINE_CONFIG_MAKEFILE(dlls/http.sys)
 WINE_CONFIG_MAKEFILE(dlls/httpapi)
 WINE_CONFIG_MAKEFILE(dlls/httpapi/tests)
+WINE_CONFIG_MAKEFILE(dlls/ia2comproxy)
 WINE_CONFIG_MAKEFILE(dlls/iccvid)
 WINE_CONFIG_MAKEFILE(dlls/icmp)
 WINE_CONFIG_MAKEFILE(dlls/ieframe)
diff --git a/dlls/ia2comproxy/Makefile.in b/dlls/ia2comproxy/Makefile.in
new file mode 100644
index 00000000000..5b0b693e115
--- /dev/null
+++ b/dlls/ia2comproxy/Makefile.in
@@ -0,0 +1,7 @@
+MODULE    = ia2comproxy.dll
+IMPORTS   = uuid oleacc oleaut32 ole32 rpcrt4
+
+IDL_SRCS = ia2_classes.idl \
+           oleacc_classes.idl
+
+dlldata_EXTRADEFS = -DWINE_REGISTER_DLL -DPROXY_DELEGATION
diff --git a/dlls/ia2comproxy/ia2_classes.idl b/dlls/ia2comproxy/ia2_classes.idl
new file mode 100644
index 00000000000..4102ea8119c
--- /dev/null
+++ b/dlls/ia2comproxy/ia2_classes.idl
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2022 Connor McAdams 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
+ */
+
+#pragma makedep ident
+#pragma makedep proxy
+#pragma makedep register
+
+cpp_quote("#include \"oleacc.h\"")
+#include "wine/iaccessible2.idl"
+
+[
+    threading(both),
+    uuid(01c20f2b-3dd2-400f-949f-ad00bdab1d41)  /* IAccessibleHyperLink */
+]
+coclass PSFactoryBuffer { interface IFactoryBuffer; }
diff --git a/dlls/ia2comproxy/ia2comproxy.spec b/dlls/ia2comproxy/ia2comproxy.spec
new file mode 100644
index 00000000000..b16365d0c9f
--- /dev/null
+++ b/dlls/ia2comproxy/ia2comproxy.spec
@@ -0,0 +1,4 @@
+@ stdcall -private DllCanUnloadNow()
+@ stdcall -private DllGetClassObject(ptr ptr ptr)
+@ stdcall -private DllRegisterServer()
+@ stdcall -private DllUnregisterServer()
diff --git a/dlls/ia2comproxy/oleacc_classes.idl b/dlls/ia2comproxy/oleacc_classes.idl
new file mode 100644
index 00000000000..6621174abbd
--- /dev/null
+++ b/dlls/ia2comproxy/oleacc_classes.idl
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2022 Connor McAdams 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
+ */
+
+#pragma makedep ident
+
+#include "oleacc.idl"
-- 
GitLab


https://gitlab.winehq.org/wine/wine/-/merge_requests/247



More information about the wine-devel mailing list