Commit 2e262c59 authored by Rémi Bernon's avatar Rémi Bernon Committed by Alexandre Julliard

include: Add AggregateType / GetAbiType / GetLogicalType WinRT templates.

parent e680cc53
...@@ -27,6 +27,19 @@ import "windowscontracts.idl"; ...@@ -27,6 +27,19 @@ import "windowscontracts.idl";
namespace Windows { namespace Windows {
namespace Foundation { namespace Foundation {
cpp_quote("#ifdef __cplusplus")
cpp_quote("} /* extern \"C\" */")
cpp_quote("namespace ABI { namespace Windows { namespace Foundation { namespace Internal {")
cpp_quote("template <class T> struct GetAbiType { typedef T type; };")
cpp_quote("template <class T> struct GetLogicalType { typedef T type; };")
cpp_quote("template <class L, class A> struct AggregateType {};")
cpp_quote("template <class L, class A> struct GetAbiType<AggregateType<L, A>> { typedef A type; };")
cpp_quote("template <class L, class A> struct GetLogicalType<AggregateType<L, A>> { typedef L type; };")
cpp_quote("}}}}")
cpp_quote("extern \"C\" {")
cpp_quote("#endif")
#ifdef __WIDL__ #ifdef __WIDL__
[ [
contract(Windows.Foundation.FoundationContract, 1.0), contract(Windows.Foundation.FoundationContract, 1.0),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment