Required for https://github.com/mozilla/gecko-dev/blob/1b90936792b2c71ef931cb1b8d6baff9d8...
-- v4: include: Add IOutputStream in windows.storage.streams.idl.
From: Biswapriyo Nath nathbappai@gmail.com
Required for https://github.com/mozilla/gecko-dev/blob/1b90936792b2c71ef931cb1b8d6baff9d8... --- include/windows.storage.streams.idl | 94 +++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+)
diff --git a/include/windows.storage.streams.idl b/include/windows.storage.streams.idl index cc58a037f13..372b4cee591 100644 --- a/include/windows.storage.streams.idl +++ b/include/windows.storage.streams.idl @@ -25,10 +25,14 @@ import "eventtoken.idl"; import "windows.foundation.idl";
namespace Windows.Storage.Streams { + typedef enum ByteOrder ByteOrder; + typedef enum UnicodeEncoding UnicodeEncoding; interface IBuffer; interface IBufferFactory; interface IBufferStatics; interface IContentTypeProvider; + interface IDataWriter; + interface IDataWriterFactory; interface IInputStream; interface IInputStreamReference; interface IOutputStream; @@ -38,6 +42,8 @@ namespace Windows.Storage.Streams { interface IRandomAccessStreamStatics; interface IRandomAccessStreamWithContentType; runtimeclass Buffer; + runtimeclass DataWriter; + runtimeclass DataWriterStoreOperation; runtimeclass InMemoryRandomAccessStream; runtimeclass RandomAccessStream; runtimeclass RandomAccessStreamReference; @@ -53,6 +59,25 @@ namespace Windows.Storage.Streams { interface Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStream *>; }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum ByteOrder + { + LittleEndian = 0, + BigEndian = 1, + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum UnicodeEncoding + { + Utf8 = 0, + Utf16LE = 1, + Utf16BE = 2, + }; + [ contract(Windows.Foundation.UniversalApiContract, 1.0), uuid(905a0fe0-bc53-11df-8c49-001e4fc686da) @@ -88,6 +113,53 @@ namespace Windows.Storage.Streams { [out, retval] Windows.Foundation.MemoryBuffer **value); }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + uuid(64b89265-d341-4922-b38a-dd4af8808c4e) + ] + interface IDataWriter : IInspectable + { + [propget] HRESULT UnstoredBufferLength([out, retval] UINT32 *value); + [propget] HRESULT UnicodeEncoding([out, retval] Windows.Storage.Streams.UnicodeEncoding *value); + [propput] HRESULT UnicodeEncoding([in] Windows.Storage.Streams.UnicodeEncoding value); + [propget] HRESULT ByteOrder([out, retval] Windows.Storage.Streams.ByteOrder *value); + [propput] HRESULT ByteOrder([in] Windows.Storage.Streams.ByteOrder value); + HRESULT WriteByte([in] BYTE value); + HRESULT WriteBytes([in] UINT32 value_size, [in, size_is(value_size)] BYTE *value); + [overload("WriteBuffer")] HRESULT WriteBuffer([in] Windows.Storage.Streams.IBuffer *buffer); + [overload("WriteBuffer")] HRESULT WriteBufferRange([in] Windows.Storage.Streams.IBuffer *buffer, [in] UINT32 start, [in] UINT32 count); + HRESULT WriteBoolean([in] boolean value); + HRESULT WriteGuid([in] GUID value); + HRESULT WriteInt16([in] INT16 value); + HRESULT WriteInt32([in] INT32 value); + HRESULT WriteInt64([in] INT64 value); + HRESULT WriteUInt16([in] UINT16 value); + HRESULT WriteUInt32([in] UINT32 value); + HRESULT WriteUInt64([in] UINT64 value); + HRESULT WriteSingle([in] FLOAT value); + HRESULT WriteDouble([in] DOUBLE value); + HRESULT WriteDateTime([in] Windows.Foundation.DateTime value); + HRESULT WriteTimeSpan([in] Windows.Foundation.TimeSpan value); + HRESULT WriteString([in] HSTRING value, [out, retval] UINT32 *code_unit_count); + HRESULT MeasureString([in] HSTRING value, [out, retval] UINT32 *code_unit_count); + HRESULT StoreAsync([out, retval] Windows.Storage.Streams.DataWriterStoreOperation **operation); + HRESULT FlushAsync([out, retval] Windows.Foundation.IAsyncOperation<boolean> **operation); + HRESULT DetachBuffer([out, retval] Windows.Storage.Streams.IBuffer **buffer); + HRESULT DetachStream([out, retval] Windows.Storage.Streams.IOutputStream **output_stream); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.Storage.Streams.DataWriter), + uuid(338c67c2-8b84-4c2b-9c50-7b8767847a1f) + ] + interface IDataWriterFactory : IInspectable + { + HRESULT CreateDataWriter( + [in] Windows.Storage.Streams.IOutputStream *output_stream, + [out, retval] Windows.Storage.Streams.DataWriter **data_writer); + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), uuid(905a0fe1-bc53-11df-8c49-001e4fc686da), @@ -155,6 +227,28 @@ namespace Windows.Storage.Streams { [default] interface Windows.Storage.Streams.IBuffer; }
+ [ + activatable(Windows.Foundation.UniversalApiContract, 1.0), + activatable(Windows.Storage.Streams.IDataWriterFactory, Windows.Foundation.UniversalApiContract, 1.0), + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass DataWriter + { + [default] interface Windows.Storage.Streams.IDataWriter; + interface Windows.Foundation.IClosable; + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile) + ] + runtimeclass DataWriterStoreOperation + { + [default] interface Windows.Foundation.IAsyncOperation<UINT32>; + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), marshaling_behavior(agile),
From: Biswapriyo Nath nathbappai@gmail.com
Required for https://github.com/mozilla/gecko-dev/blob/1b90936792b2c71ef931cb1b8d6baff9d8... --- include/windows.storage.streams.idl | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
diff --git a/include/windows.storage.streams.idl b/include/windows.storage.streams.idl index 372b4cee591..54c7140e056 100644 --- a/include/windows.storage.streams.idl +++ b/include/windows.storage.streams.idl @@ -24,6 +24,10 @@ import "inspectable.idl"; import "eventtoken.idl"; import "windows.foundation.idl";
+namespace Windows.Storage { + interface IStorageFile; +} + namespace Windows.Storage.Streams { typedef enum ByteOrder ByteOrder; typedef enum UnicodeEncoding UnicodeEncoding; @@ -180,6 +184,24 @@ namespace Windows.Storage.Streams { [propget] HRESULT CanWrite([out, retval] boolean *value); }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.Storage.Streams.RandomAccessStreamReference), + uuid(857309dc-3fbf-4e7d-986f-ef3b1a07a964) + ] + interface IRandomAccessStreamReferenceStatics : IInspectable + { + HRESULT CreateFromFile( + [in] Windows.Storage.IStorageFile *file, + [out, retval] Windows.Storage.Streams.RandomAccessStreamReference **stream_reference); + HRESULT CreateFromUri( + [in] Windows.Foundation.Uri *uri, + [out, retval] Windows.Storage.Streams.RandomAccessStreamReference **stream_reference); + HRESULT CreateFromStream( + [in] Windows.Storage.Streams.IRandomAccessStream *stream, + [out, retval] Windows.Storage.Streams.RandomAccessStreamReference **stream_reference); + } + [ uuid(cc254827-4b3d-438f-9232-10c76bc7e038), ]
From: Biswapriyo Nath nathbappai@gmail.com
--- include/windows.storage.streams.idl | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/include/windows.storage.streams.idl b/include/windows.storage.streams.idl index 54c7140e056..5529a56dcf2 100644 --- a/include/windows.storage.streams.idl +++ b/include/windows.storage.streams.idl @@ -59,8 +59,12 @@ namespace Windows.Storage.Streams { interface Windows.Foundation.Collections.IVector<Windows.Storage.Streams.IRandomAccessStream *>; interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.Streams.IBuffer *>; interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.Streams.IRandomAccessStream *>; + interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.Streams.IRandomAccessStreamReference *>; + interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.Streams.IRandomAccessStreamWithContentType *>; interface Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IBuffer *>; interface Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStream *>; + interface Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStreamReference *>; + interface Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStreamWithContentType *>; }
[ @@ -184,6 +188,15 @@ namespace Windows.Storage.Streams { [propget] HRESULT CanWrite([out, retval] boolean *value); }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + uuid(33ee3134-1dd6-4e3a-8067-d1c162e8642b) + ] + interface IRandomAccessStreamReference : IInspectable + { + HRESULT OpenReadAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStreamWithContentType *> **operation); + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.Storage.Streams.RandomAccessStreamReference),
From: Biswapriyo Nath nathbappai@gmail.com
Required for https://github.com/mozilla/gecko-dev/blob/7e0ae4372c52b8183d1178132dd6493edb... --- include/windows.foundation.idl | 2 ++ include/windows.storage.streams.idl | 15 +++++++++++++++ 2 files changed, 17 insertions(+)
diff --git a/include/windows.foundation.idl b/include/windows.foundation.idl index 0ac0f78fa5e..d8833718e77 100644 --- a/include/windows.foundation.idl +++ b/include/windows.foundation.idl @@ -104,9 +104,11 @@ namespace Windows.Foundation { interface Windows.Foundation.AsyncOperationCompletedHandler<IInspectable *>; interface Windows.Foundation.AsyncOperationCompletedHandler<boolean>; interface Windows.Foundation.AsyncOperationCompletedHandler<UINT32>; + interface Windows.Foundation.AsyncOperationCompletedHandler<UINT32, UINT32>; interface Windows.Foundation.IAsyncOperation<IInspectable *>; interface Windows.Foundation.IAsyncOperation<boolean>; interface Windows.Foundation.IAsyncOperation<UINT32>; + interface Windows.Foundation.IAsyncOperationWithProgress<UINT32, UINT32>; interface Windows.Foundation.IReference<BYTE>; interface Windows.Foundation.IReference<INT32>; interface Windows.Foundation.IReference<DOUBLE>; diff --git a/include/windows.storage.streams.idl b/include/windows.storage.streams.idl index 5529a56dcf2..b3cb8dbe20f 100644 --- a/include/windows.storage.streams.idl +++ b/include/windows.storage.streams.idl @@ -58,10 +58,12 @@ namespace Windows.Storage.Streams { interface Windows.Foundation.Collections.IVectorView<Windows.Storage.Streams.IRandomAccessStream *>; interface Windows.Foundation.Collections.IVector<Windows.Storage.Streams.IRandomAccessStream *>; interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.Streams.IBuffer *>; + interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.Streams.IOutputStream *>; interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.Streams.IRandomAccessStream *>; interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.Streams.IRandomAccessStreamReference *>; interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.Streams.IRandomAccessStreamWithContentType *>; interface Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IBuffer *>; + interface Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IOutputStream *>; interface Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStream *>; interface Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStreamReference *>; interface Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStreamWithContentType *>; @@ -168,6 +170,19 @@ namespace Windows.Storage.Streams { [out, retval] Windows.Storage.Streams.DataWriter **data_writer); }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + uuid(905a0fe6-bc53-11df-8c49-001e4fc686da) + ] + interface IOutputStream : IInspectable + requires Windows.Foundation.IClosable + { + HRESULT WriteAsync( + [in] Windows.Storage.Streams.IBuffer *buffer, + [out, retval] Windows.Foundation.IAsyncOperationWithProgress<UINT32, UINT32> **operation); + HRESULT FlushAsync([out, retval] Windows.Foundation.IAsyncOperation<boolean> **operation); + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), uuid(905a0fe1-bc53-11df-8c49-001e4fc686da),
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=148838
Your paranoid android.
=== debian11 (build log) ===
error: patch failed: include/windows.foundation.idl:104 Task: Patch failed to apply
=== debian11b (build log) ===
error: patch failed: include/windows.foundation.idl:104 Task: Patch failed to apply
I can not reproduce the build failure with widl in my system.
Rémi Bernon (@rbernon) commented about include/windows.foundation.idl:
interface Windows.Foundation.AsyncOperationCompletedHandler<IInspectable *>; interface Windows.Foundation.AsyncOperationCompletedHandler<boolean>; interface Windows.Foundation.AsyncOperationCompletedHandler<UINT32>;
interface Windows.Foundation.AsyncOperationCompletedHandler<UINT32, UINT32>;
```suggestion:-0+0 interface Windows.Foundation.AsyncOperationProgressHandler<UINT32, UINT32>; interface Windows.Foundation.AsyncOperationWithProgressCompletedHandler<UINT32, UINT32>; ```