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),
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 tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=148786
Your paranoid android.
=== debian11b (64 bit WoW report) ===
user32: input.c:4305: Test succeeded inside todo block: button_down_hwnd_todo 1: got MSG_TEST_WIN hwnd 00000000015F00E6, msg WM_LBUTTONDOWN, wparam 0x1, lparam 0x320032
wmvcore: wmvcore.c:2824: Test succeeded inside todo block: Got pts 2780000.