Rémi Bernon
6698a2ef7f
widl: Output interface C names in method argument list.
...
This fixes WinRT interface generation where only simple names were used
instead of the C interface names.
With the previous sample idl:
#ifdef __WIDL__
#pragma winrt ns_prefix
#endif
import "wtypes.idl";
namespace Windows {
[object]
interface IFoo {}
[object]
interface IBar { HRESULT DoBar([in] IFoo *foo); }
}
$ widl -o windows.foo.h windows.foo.idl
Generated file diff before/after:
diff --git a/windows.foo.h b/windows.foo.h
index 3790dc7..65151cb 100644
--- a/windows.foo.h
+++ b/windows.foo.h
@@ -123,7 +123,7 @@ typedef struct __x_ABI_CWindows_CIBarVtbl {
/*** IBar methods ***/
HRESULT (STDMETHODCALLTYPE *DoBar)(
__x_ABI_CWindows_CIBar *This,
- IFoo *foo);
+ __x_ABI_CWindows_CIFoo *foo);
END_INTERFACE
} __x_ABI_CWindows_CIBarVtbl;
@@ -138,7 +138,7 @@ interface __x_ABI_CWindows_CIBar {
#define __x_ABI_CWindows_CIBar_DoBar(This,foo) (This)->lpVtbl->DoBar(This,foo)
#else
/*** IBar methods ***/
-static FORCEINLINE HRESULT __x_ABI_CWindows_CIBar_DoBar(__x_ABI_CWindows_CIBar* This,IFoo *foo) {
+static FORCEINLINE HRESULT __x_ABI_CWindows_CIBar_DoBar(__x_ABI_CWindows_CIBar* This,__x_ABI_CWindows_CIFoo *foo) {
return This->lpVtbl->DoBar(This,foo);
}
#endif
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:00 +02:00
Richard Pospesel
e8b6c05242
widl: Pass a decl_spec_t to write_type_left().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:09:24 +02:00
Richard Pospesel
aa2bd521d9
widl: Pass a decl_spec_t to write_type_v().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:09:19 +02:00
Zebediah Figura
b4fe4ccc96
widl: Introduce type_iface_get_async_iface().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-15 10:22:14 +02:00
Zebediah Figura
8b2a065892
widl: Move the "idx" parameter from struct func_details to var_t.
...
It's not a part of the type; e.g. it doesn't make sense on a function pointer.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-14 12:16:10 +02:00
Richard Pospesel
083032b5ef
widl: Use type_function_get_args() instead of type_get_function_args().
...
Signed-off-by: Richard Pospesel <richard@torproject.org>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-14 12:15:37 +02:00
Richard Pospesel
1f59423039
widl: Bump MIDL version to 5.2.202 to avoid RPC_X_WRONG_STUB_VERSION exception in ObjectStublessClient.
...
Signed-off-by: Richard Pospesel <richard@torproject.org>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 10:21:16 +02:00
Richard Pospesel
76512154f8
widl: Refactor to have pointer type's ref use decl_spec_t rather than type_t.
...
Signed-off-by: Richard Pospesel <richard@torproject.org>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 10:21:07 +02:00
Richard Pospesel
1ffb6494db
widl: Change struct _var_t's type member to a struct _decl_spec_t.
...
Signed-off-by: Richard Pospesel <richard@torproject.org>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 10:21:00 +02:00
Zebediah Figura
ead21a1bdd
widl: Fix proxy vtbl generation in -Oi mode.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-21 18:08:37 +02:00
Alexandre Julliard
f67301e9ec
widl: Always generate files for the target platform only.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 23:11:31 +01:00
Jacek Caban
a514aa7653
widl: Don't make proxy vtbl const in interpreted mode.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 10:21:52 +01:00
Jacek Caban
824d513585
widl: Generate async interface table.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 18:40:20 +01:00
Jacek Caban
89a1dade80
widl: Support async interfaces proxy.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 18:40:19 +01:00
Zebediah Figura
66f46f8182
widl: Correctly handle conformant arrays in clear_output_vars().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-02 15:17:52 +01:00
Zebediah Figura
f9c8c20298
widl: Use publicly defined NDR constants.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-13 22:13:27 +02:00
André Hentschel
900e7c5d65
widl: Fix compiler warnings with flag -Wunused-macros.
2014-12-10 13:31:01 +01:00
Jacek Caban
218b1951db
widl: Define PROXY_DELEGATION in dlldata.c when needed.
2012-11-01 15:42:33 +01:00
Alexandre Julliard
977e15b762
widl: Store the type format offset for function parameters in the variable object.
2011-09-19 12:56:25 +02:00
Alexandre Julliard
c31948a775
widl: Make the function return value a variable.
2011-09-17 16:09:47 +02:00
Bernhard Loos
00ab883644
widl: Also create proxies/stubs for interfaces marked with oleautomation.
2011-09-06 15:42:28 +02:00
Alexandre Julliard
8e15db40a8
widl: Don't output stubs for interfaces included in a typelib.
2011-09-06 15:42:16 +02:00
Alexandre Julliard
ca22457d7b
widl: Don't set base types to 0 on proxy entry.
2011-07-27 16:16:14 +02:00
Alexandre Julliard
0d76bb7ec3
widl: Clear out more types of parameters in the proxy error handlers.
2011-07-27 16:04:24 +02:00
Alexandre Julliard
c173399d62
widl: Move the pointer check functionality to typegen.c.
2011-06-14 12:55:39 +02:00
Alexandre Julliard
fa2b886d1d
widl: Also check array pointers for null ref pointers.
2011-06-14 12:55:22 +02:00
Alexandre Julliard
7a0ce4c864
widl: Include the parent interfaces in the proxy thunk table too.
2011-06-13 23:16:36 +02:00
Alexandre Julliard
5881069601
widl: Use delegation when inheriting from a local interface.
2011-06-13 22:16:05 +02:00
Alexandre Julliard
799000ea3a
widl: Include the parent interfaces in the proc format string offsets for proxies.
2011-06-13 21:58:33 +02:00
Alexandre Julliard
0cba5b06f5
widl: Use the local function as proxy entry for callas interpreted functions.
2011-06-13 21:17:52 +02:00
Alexandre Julliard
59171bd9f5
widl: Pass a structure containing the parameters to NdrClientCall instead of accessing the stack.
2011-06-09 12:08:48 +02:00
Alexandre Julliard
9f99d74a20
widl: Add a helper function for generating a stub that uses NdrClientCall.
2011-06-09 12:08:48 +02:00
Alexandre Julliard
350c93a164
widl: Don't require inline stubs for functions that are never generated.
2011-06-08 14:12:16 +02:00
Alexandre Julliard
36ee028f49
widl: Don't generate old-style interpreted stubs on 64-bit.
2011-06-08 12:14:47 +02:00
Alexandre Julliard
d9cd0d8cac
widl: In 64-bit mode, pass all arguments to NdrClientCall instead of a pointer to the first one.
2011-06-08 11:34:46 +02:00
Alexandre Julliard
609602cb38
widl: Add support for generating new-style interpreted stubs for proxies.
2011-06-07 14:18:15 +02:00
Alexandre Julliard
01b44d1317
widl: Generate thunks for callas functions using interpreted stubs.
2011-06-07 12:11:50 +02:00
Alexandre Julliard
33ba9731a3
widl: Add support for generating old-style interpreted stubs for proxies.
2011-06-03 12:27:00 +02:00
Alexandre Julliard
11416a20c9
widl: Generate function headers in the proc format string for interpreted functions.
2011-06-02 16:22:43 +02:00
Alexandre Julliard
56425e3767
widl: Don't generate proxies for oleautomation interfaces.
2011-01-19 17:43:01 +01:00
Alexandre Julliard
ce3abe8c0c
widl: Add support for generating a .rgs registration script for the defined interfaces.
2010-11-27 13:29:13 +01:00
Alexandre Julliard
3593b65935
widl: Output a format string table and server info structure for servers.
2010-10-22 20:49:45 +02:00
Alexandre Julliard
9551524308
widl: Output a format string table and server info structure for stubs.
2010-10-22 20:23:56 +02:00
Alexandre Julliard
575485c6e7
widl: Duplicate all the proxy data tables between 32-bit and 64-bit.
2010-10-22 19:41:07 +02:00
Alexandre Julliard
c6668089a4
widl: Set the default calling convention at header generation time, not at parsing time.
2010-08-27 13:52:09 +02:00
Paul Vriens
caaf027e55
widl: Fix size parameter for xrealloc (Coccinelle).
2010-01-11 11:34:32 -06:00
Rob Shearman
6ed98b16a1
widl: Detect interfaces that inherit from another interface as objects.
2009-11-29 16:37:07 +01:00
Alexandre Julliard
d88f9e3cd9
widl: Don't make the proxy virtual tables const if they use delegation.
2009-06-09 17:01:07 +02:00
Rob Shearman
23673ca373
widl: Determine pointer fc at generation time instead of at parse time.
...
Avoid changing the details of a pointer once created.
Properly determine the pointer type for arrays.
2009-03-09 12:09:39 +01:00
Rob Shearman
7e08ff27c2
widl: Move declarray property to array_details.
...
Invert the property since an array being declared as a pointer is more
surprising than an array being declared as an array.
Provide an accessor, type_array_is_decl_as_ptr.
2009-03-05 16:34:00 +01:00