[PATCH] headers: move EventHandler delegate in windows.foundation.idl

Rémi Bernon rbernon at codeweavers.com
Tue Mar 9 12:36:02 CST 2021


On 3/9/21 3:51 PM, Steve Lhomme wrote:
> It's in the .NET System namespace which translates to the Windows.Foundation
> namespace in winrt interfaces.
> ---
>   include/windows.foundation.collections.idl | 6 ------
>   include/windows.foundation.idl             | 8 ++++++++
>   2 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/include/windows.foundation.collections.idl b/include/windows.foundation.collections.idl
> index ed05016b96d..15866c2903a 100644
> --- a/include/windows.foundation.collections.idl
> +++ b/include/windows.foundation.collections.idl
> @@ -41,12 +41,6 @@ cpp_quote("extern \"C\" {")
>   cpp_quote("#endif")
>   
>   #ifdef __WIDL__
> -        [
> -            contract(Windows.Foundation.FoundationContract, 1.0),
> -            uuid(9de1c535-6ae1-11e0-84e1-18a905bcc53f)
> -        ]
> -        delegate HRESULT EventHandler<T>([in] IInspectable *sender, [in] T args);
> -
>           namespace Collections
>           {
>               [
> diff --git a/include/windows.foundation.idl b/include/windows.foundation.idl
> index 3c60278cf05..2b414039876 100644
> --- a/include/windows.foundation.idl
> +++ b/include/windows.foundation.idl
> @@ -112,5 +112,13 @@ namespace Windows {
>           {
>               HRESULT ToString([out, retval] HSTRING *value);
>           }
> +
> +#ifdef __WIDL__
> +        [
> +            contract(Windows.Foundation.FoundationContract, 1.0),
> +            uuid(9de1c535-6ae1-11e0-84e1-18a905bcc53f)
> +        ]
> +        delegate HRESULT EventHandler<T>([in] IInspectable *sender, [in] T args);
> +#endif
>       }
>   }
> 

Hi Steve!

This would make EventHandler<T> and EventHandler_impl<T> be generated to 
windows.foundation.h, and I don't think they should go there.

The type is indeed from the Windows.Foundation namespace, but the 
template is available from the windows.foundation.collections.h header 
file, where the current Wine IDL defines it.

Does it cause any issue?

Cheers,
-- 
Rémi Bernon <rbernon at codeweavers.com>



More information about the wine-devel mailing list