From: Biswapriyo Nath nathbappai@gmail.com
And move generic instantiations forward.
Signed-off-by: Biswapriyo Nath nathbappai@gmail.com Signed-off-by: Rémi Bernon rbernon@codeweavers.com ---
v2: Use nested namespaces at the same time as reorganizing the file.
include/windows.foundation.idl | 293 ++++++++++++++++----------------- 1 file changed, 145 insertions(+), 148 deletions(-)
diff --git a/include/windows.foundation.idl b/include/windows.foundation.idl index c5f4c04a334..08a6af4ea7b 100644 --- a/include/windows.foundation.idl +++ b/include/windows.foundation.idl @@ -27,153 +27,150 @@ import "windowscontracts.idl"; /* import "ivectorchangedeventargs.idl"; */ import "windows.foundation.collections.idl";
-namespace Windows { - namespace Foundation { - interface IAsyncAction; - } -} - -namespace Windows { - namespace Foundation { - typedef enum PropertyType PropertyType; - typedef struct Point Point; - typedef struct Size Size; - typedef struct Rect Rect; - typedef struct DateTime DateTime; - typedef struct TimeSpan TimeSpan; - - [ - contract(Windows.Foundation.FoundationContract, 1.0), - uuid(a4ed5c81-76c9-40bd-8be6-b1d90fb20ae7) - ] - delegate HRESULT AsyncActionCompletedHandler([in] Windows.Foundation.IAsyncAction *action, [in] AsyncStatus status); - - [contract(Windows.Foundation.FoundationContract, 1.0)] - enum PropertyType { - Empty = 0, - UInt8 = 1, - Int16 = 2, - UInt16 = 3, - Int32 = 4, - UInt32 = 5, - Int64 = 6, - UInt64 = 7, - Single = 8, - Double = 9, - Char16 = 10, - Boolean = 11, - String = 12, - Inspectable = 13, - DateTime = 14, - TimeSpan = 15, - Guid = 16, - Point = 17, - Size = 18, - Rect = 19, - OtherType = 20, - UInt8Array = 1025, - Int16Array = 1026, - UInt16Array = 1027, - Int32Array = 1028, - UInt32Array = 1029, - Int64Array = 1030, - UInt64Array = 1031, - SingleArray = 1032, - DoubleArray = 1033, - Char16Array = 1034, - BooleanArray = 1035, - StringArray = 1036, - InspectableArray = 1037, - DateTimeArray = 1038, - TimeSpanArray = 1039, - GuidArray = 1040, - PointArray = 1041, - SizeArray = 1042, - RectArray = 1043, - OtherTypeArray = 1044 - }; - - [contract(Windows.Foundation.FoundationContract, 1.0)] - struct Point { - FLOAT X; - FLOAT Y; - }; - - [contract(Windows.Foundation.FoundationContract, 1.0)] - struct Size { - FLOAT Width; - FLOAT Height; - }; - - [contract(Windows.Foundation.FoundationContract, 1.0)] - struct Rect { - FLOAT X; - FLOAT Y; - FLOAT Width; - FLOAT Height; - }; - - [contract(Windows.Foundation.FoundationContract, 1.0)] - struct DateTime { - INT64 UniversalTime; - }; - - [contract(Windows.Foundation.FoundationContract, 1.0)] - struct TimeSpan { - INT64 Duration; - }; - - [ - contract(Windows.Foundation.FoundationContract, 1.0), - uuid(96369f54-8eb6-48f0-abce-c1b211e627c3) - ] - interface IStringable : IInspectable - { - HRESULT ToString([out, retval] HSTRING *value); - } - - [ - contract(Windows.Foundation.FoundationContract, 1.0), - uuid(30d5a829-7fa4-4026-83bb-d75bae4ea99e) - ] - interface IClosable : IInspectable - { - HRESULT Close(); - } - - [ - contract(Windows.Foundation.FoundationContract, 1.0), - uuid(5a648006-843a-4da9-865b-9d26e5dfad7b) - ] - interface IAsyncAction : IInspectable - requires IAsyncInfo - { - [propput] HRESULT Completed([in] Windows.Foundation.AsyncActionCompletedHandler *handler); - [propget] HRESULT Completed([out, retval] Windows.Foundation.AsyncActionCompletedHandler **handler); - HRESULT GetResults(); - } - } -} - -namespace Windows { - namespace Foundation { - declare { - interface Windows.Foundation.Collections.IIterable<HSTRING>; - interface Windows.Foundation.Collections.IIterable<IInspectable *>; - interface Windows.Foundation.Collections.IIterator<HSTRING>; - interface Windows.Foundation.Collections.IIterator<IInspectable *>; - interface Windows.Foundation.Collections.IVectorView<HSTRING>; - interface Windows.Foundation.Collections.IVectorView<IInspectable *>; - interface Windows.Foundation.Collections.IVector<HSTRING>; - interface Windows.Foundation.Collections.IVector<IInspectable *>; - interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.Foundation.Collections.IVectorView<HSTRING>*>; - interface Windows.Foundation.EventHandler<IInspectable *>; - interface Windows.Foundation.AsyncOperationCompletedHandler<IInspectable *>; - interface Windows.Foundation.AsyncOperationCompletedHandler<boolean>; - interface Windows.Foundation.IAsyncOperation<IInspectable *>; - interface Windows.Foundation.IAsyncOperation<boolean>; - interface Windows.Foundation.IReference<INT32>; - interface Windows.Foundation.TypedEventHandler<IInspectable *, IInspectable *>; - } +namespace Windows.Foundation { + typedef enum PropertyType PropertyType; + typedef struct Point Point; + typedef struct Size Size; + typedef struct Rect Rect; + typedef struct DateTime DateTime; + typedef struct TimeSpan TimeSpan; + interface IAsyncAction; + interface IClosable; + interface IStringable; + + declare { + interface Windows.Foundation.Collections.IIterable<HSTRING>; + interface Windows.Foundation.Collections.IIterable<IInspectable *>; + interface Windows.Foundation.Collections.IIterator<HSTRING>; + interface Windows.Foundation.Collections.IIterator<IInspectable *>; + interface Windows.Foundation.Collections.IVectorView<HSTRING>; + interface Windows.Foundation.Collections.IVectorView<IInspectable *>; + interface Windows.Foundation.Collections.IVector<HSTRING>; + interface Windows.Foundation.Collections.IVector<IInspectable *>; + interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.Foundation.Collections.IVectorView<HSTRING> *>; + interface Windows.Foundation.EventHandler<IInspectable *>; + interface Windows.Foundation.AsyncOperationCompletedHandler<IInspectable *>; + interface Windows.Foundation.AsyncOperationCompletedHandler<boolean>; + interface Windows.Foundation.IAsyncOperation<IInspectable *>; + interface Windows.Foundation.IAsyncOperation<boolean>; + interface Windows.Foundation.IReference<INT32>; + interface Windows.Foundation.TypedEventHandler<IInspectable *, IInspectable *>; + } + + [ + contract(Windows.Foundation.FoundationContract, 1.0), + uuid(a4ed5c81-76c9-40bd-8be6-b1d90fb20ae7) + ] + delegate HRESULT AsyncActionCompletedHandler([in] Windows.Foundation.IAsyncAction *action, [in] AsyncStatus status); + + [contract(Windows.Foundation.FoundationContract, 1.0)] + enum PropertyType + { + Empty = 0, + UInt8 = 1, + Int16 = 2, + UInt16 = 3, + Int32 = 4, + UInt32 = 5, + Int64 = 6, + UInt64 = 7, + Single = 8, + Double = 9, + Char16 = 10, + Boolean = 11, + String = 12, + Inspectable = 13, + DateTime = 14, + TimeSpan = 15, + Guid = 16, + Point = 17, + Size = 18, + Rect = 19, + OtherType = 20, + UInt8Array = 1025, + Int16Array = 1026, + UInt16Array = 1027, + Int32Array = 1028, + UInt32Array = 1029, + Int64Array = 1030, + UInt64Array = 1031, + SingleArray = 1032, + DoubleArray = 1033, + Char16Array = 1034, + BooleanArray = 1035, + StringArray = 1036, + InspectableArray = 1037, + DateTimeArray = 1038, + TimeSpanArray = 1039, + GuidArray = 1040, + PointArray = 1041, + SizeArray = 1042, + RectArray = 1043, + OtherTypeArray = 1044, + }; + + [contract(Windows.Foundation.FoundationContract, 1.0)] + struct Point + { + FLOAT X; + FLOAT Y; + }; + + [contract(Windows.Foundation.FoundationContract, 1.0)] + struct Size + { + FLOAT Width; + FLOAT Height; + }; + + [contract(Windows.Foundation.FoundationContract, 1.0)] + struct Rect + { + FLOAT X; + FLOAT Y; + FLOAT Width; + FLOAT Height; + }; + + [contract(Windows.Foundation.FoundationContract, 1.0)] + struct DateTime + { + INT64 UniversalTime; + }; + + [contract(Windows.Foundation.FoundationContract, 1.0)] + struct TimeSpan + { + INT64 Duration; + }; + + [ + contract(Windows.Foundation.FoundationContract, 1.0), + uuid(96369f54-8eb6-48f0-abce-c1b211e627c3) + ] + interface IStringable : IInspectable + { + HRESULT ToString([out, retval] HSTRING *value); + } + + [ + contract(Windows.Foundation.FoundationContract, 1.0), + uuid(30d5a829-7fa4-4026-83bb-d75bae4ea99e) + ] + interface IClosable : IInspectable + { + HRESULT Close(); + } + + [ + contract(Windows.Foundation.FoundationContract, 1.0), + uuid(5a648006-843a-4da9-865b-9d26e5dfad7b) + ] + interface IAsyncAction : IInspectable + requires IAsyncInfo + { + [propput] HRESULT Completed([in] Windows.Foundation.AsyncActionCompletedHandler *handler); + [propget] HRESULT Completed([out, retval] Windows.Foundation.AsyncActionCompletedHandler **handler); + HRESULT GetResults(); } }
From: Biswapriyo Nath nathbappai@gmail.com
Signed-off-by: Biswapriyo Nath nathbappai@gmail.com Signed-off-by: Rémi Bernon rbernon@codeweavers.com --- include/windows.foundation.idl | 53 +++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-)
diff --git a/include/windows.foundation.idl b/include/windows.foundation.idl index 08a6af4ea7b..cdc603f8e84 100644 --- a/include/windows.foundation.idl +++ b/include/windows.foundation.idl @@ -23,7 +23,7 @@ import "inspectable.idl"; import "asyncinfo.idl"; import "windowscontracts.idl"; -/* import "eventtoken.idl"; */ +import "eventtoken.idl"; /* import "ivectorchangedeventargs.idl"; */ import "windows.foundation.collections.idl";
@@ -36,7 +36,11 @@ namespace Windows.Foundation { typedef struct TimeSpan TimeSpan; interface IAsyncAction; interface IClosable; + interface IMemoryBuffer; + interface IMemoryBufferFactory; + interface IMemoryBufferReference; interface IStringable; + runtimeclass MemoryBuffer;
declare { interface Windows.Foundation.Collections.IIterable<HSTRING>; @@ -55,6 +59,7 @@ namespace Windows.Foundation { interface Windows.Foundation.IAsyncOperation<boolean>; interface Windows.Foundation.IReference<INT32>; interface Windows.Foundation.TypedEventHandler<IInspectable *, IInspectable *>; + interface Windows.Foundation.TypedEventHandler<Windows.Foundation.IMemoryBufferReference *, IInspectable *>; }
[ @@ -173,4 +178,50 @@ namespace Windows.Foundation { [propget] HRESULT Completed([out, retval] Windows.Foundation.AsyncActionCompletedHandler **handler); HRESULT GetResults(); } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + uuid(fbc4dd2a-245b-11e4-af98-689423260cf8) + ] + interface IMemoryBuffer : IInspectable + requires Windows.Foundation.IClosable + { + HRESULT CreateReference([out, retval] Windows.Foundation.IMemoryBufferReference **reference); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.Foundation.MemoryBuffer), + uuid(fbc4dd2b-245b-11e4-af98-689423260cf8) + ] + interface IMemoryBufferFactory : IInspectable + { + HRESULT Create([in, range(0x00000000, 0x7fffffff)] UINT32 capacity, + [out, retval] Windows.Foundation.MemoryBuffer **value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + uuid(fbc4dd29-245b-11e4-af98-689423260cf8) + ] + interface IMemoryBufferReference : IInspectable + requires Windows.Foundation.IClosable + { + [propget] HRESULT Capacity([out, retval] UINT32 *value); + [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.Foundation.IMemoryBufferReference *, IInspectable *> *handler, + [out, retval] EventRegistrationToken *cookie); + [eventremove] HRESULT Closed([in] EventRegistrationToken cookie); + } + + [ + activatable(Windows.Foundation.IMemoryBufferFactory, Windows.Foundation.UniversalApiContract, 1.0), + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass MemoryBuffer + { + [default] interface Windows.Foundation.IMemoryBuffer; + interface Windows.Foundation.IClosable; + } }