Module: wine
Branch: master
Commit: 7d5708a18224e588ffa456996c4f9f0edee87360
URL: https://source.winehq.org/git/wine.git/?a=commit;h=7d5708a18224e588ffa45699…
Author: Connor McAdams <cmcadams(a)codeweavers.com>
Date: Mon Jun 13 12:39:04 2022 -0400
ia2comproxy: Introduce new proxy stub DLL for IAccessible2.
Signed-off-by: Connor McAdams <cmcadams(a)codeweavers.com>
---
configure | 2 ++
configure.ac | 1 +
dlls/ia2comproxy/Makefile.in | 8 ++++++++
dlls/ia2comproxy/ia2_classes.idl | 30 ++++++++++++++++++++++++++++++
dlls/ia2comproxy/ia2comproxy.spec | 4 ++++
dlls/ia2comproxy/oleacc_classes.idl | 21 +++++++++++++++++++++
6 files changed, 66 insertions(+)
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..48f58a8093e
--- /dev/null
+++ b/dlls/ia2comproxy/Makefile.in
@@ -0,0 +1,8 @@
+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"