typelib.dll16: Enable compilation with long types.
[wine.git] / include / windows.media.speechsynthesis.idl
blob29dca510deef7bc073cfb63b012f9ed9175b9a70
1 /*
2 * Copyright 2020 RĂ©mi Bernon for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifdef __WIDL__
20 #pragma winrt ns_prefix
21 #endif
23 import "inspectable.idl";
24 import "windows.foundation.idl";
25 import "windows.media.idl";
27 namespace Windows {
28 namespace Foundation {
29 interface IClosable;
31 namespace Media {
32 namespace SpeechSynthesis {
33 typedef enum VoiceGender VoiceGender;
34 interface IInstalledVoicesStatic;
35 interface IInstalledVoicesStatic2;
36 interface ISpeechSynthesizer;
37 interface ISpeechSynthesizer2;
38 interface IVoiceInformation;
39 interface ISpeechSynthesisStream;
40 runtimeclass SpeechSynthesizer;
41 runtimeclass VoiceInformation;
42 runtimeclass SpeechSynthesisStream;
45 namespace Storage {
46 namespace Streams {
47 interface IRandomAccessStreamWithContentType;
48 interface IRandomAccessStream;
49 interface IInputStream;
50 interface IOutputStream;
51 interface IContentTypeProvider;
56 namespace Windows {
57 namespace Media {
58 interface IMediaMarker;
62 namespace Windows {
63 namespace Media {
64 namespace SpeechSynthesis {
65 declare {
66 interface Windows.Foundation.Collections.IIterator<Windows.Media.SpeechSynthesis.VoiceInformation*>;
67 interface Windows.Foundation.Collections.IIterable<Windows.Media.SpeechSynthesis.VoiceInformation*>;
68 interface Windows.Foundation.Collections.IVectorView<Windows.Media.SpeechSynthesis.VoiceInformation*>;
69 interface Windows.Foundation.Collections.IVectorView<Windows.Media.IMediaMarker*>;
70 interface Windows.Foundation.IAsyncOperation<Windows.Media.SpeechSynthesis.SpeechSynthesisStream*>;
71 interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Media.SpeechSynthesis.SpeechSynthesisStream*>;
77 namespace Windows {
78 namespace Media {
79 namespace SpeechSynthesis {
80 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
81 enum VoiceGender
83 Male = 0,
84 Female = 1
87 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
88 [exclusiveto(Windows.Media.SpeechSynthesis.SpeechSynthesisStream)]
89 [uuid(83e46e93-244c-4622-ba0b-6229c4d0d65d)]
90 interface ISpeechSynthesisStream : IInspectable
91 requires
92 Windows.Storage.Streams.IRandomAccessStreamWithContentType,
93 Windows.Storage.Streams.IRandomAccessStream,
94 Windows.Foundation.IClosable,
95 Windows.Storage.Streams.IInputStream,
96 Windows.Storage.Streams.IOutputStream,
97 Windows.Storage.Streams.IContentTypeProvider
99 [propget] HRESULT Markers([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.IMediaMarker*>** value);
103 contract(Windows.Foundation.UniversalApiContract, 1.0),
104 exclusiveto(Windows.Media.SpeechSynthesis.SpeechSynthesizer),
105 uuid(ce9f7c76-97f4-4ced-ad68-d51c458e45c6)
107 interface ISpeechSynthesizer : IInspectable
109 HRESULT SynthesizeTextToStreamAsync([in] HSTRING text, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.SpeechSynthesis.SpeechSynthesisStream*> **operation);
110 HRESULT SynthesizeSsmlToStreamAsync([in] HSTRING Ssml, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.SpeechSynthesis.SpeechSynthesisStream*> **operation);
111 [propput] HRESULT Voice([in] VoiceInformation *value);
112 [propget] HRESULT Voice([out] [retval] VoiceInformation **value);
116 contract(Windows.Foundation.UniversalApiContract, 1.0),
117 exclusiveto(Windows.Media.SpeechSynthesis.VoiceInformation),
118 uuid(b127d6a4-1291-4604-aa9c-83134083352c)
120 interface IVoiceInformation : IInspectable
122 [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
123 [propget] HRESULT Id([out] [retval] HSTRING* value);
124 [propget] HRESULT Language([out] [retval] HSTRING* value);
125 [propget] HRESULT Description([out] [retval] HSTRING* value);
126 [propget] HRESULT Gender([out] [retval] VoiceGender* value);
130 contract(Windows.Foundation.UniversalApiContract, 1.0),
131 exclusiveto(Windows.Media.SpeechSynthesis.SpeechSynthesizer),
132 uuid(7d526ecc-7533-4c3f-85be-888c2baeebdc)
134 interface IInstalledVoicesStatic : IInspectable
136 [propget] HRESULT AllVoices([out, retval] Windows.Foundation.Collections.IVectorView<VoiceInformation*>** value);
137 [propget] HRESULT DefaultVoice([out, retval] VoiceInformation** value);
141 contract(Windows.Foundation.UniversalApiContract, 1.0),
142 marshaling_behavior(agile)
144 runtimeclass VoiceInformation
146 [default] interface Windows.Media.SpeechSynthesis.IVoiceInformation;
150 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
151 [marshaling_behavior(agile)]
152 runtimeclass SpeechSynthesisStream
154 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesisStream;
155 interface Windows.Storage.Streams.IRandomAccessStreamWithContentType;
156 interface Windows.Storage.Streams.IContentTypeProvider;
157 interface Windows.Storage.Streams.IRandomAccessStream;
158 interface Windows.Storage.Streams.IOutputStream;
159 interface Windows.Foundation.IClosable;
160 interface Windows.Storage.Streams.IInputStream;
164 activatable(Windows.Foundation.UniversalApiContract, 1.0),
165 contract(Windows.Foundation.UniversalApiContract, 1.0),
166 marshaling_behavior(agile),
167 static(Windows.Media.SpeechSynthesis.IInstalledVoicesStatic, Windows.Foundation.UniversalApiContract, 1.0),
168 static(Windows.Media.SpeechSynthesis.IInstalledVoicesStatic2, Windows.Foundation.UniversalApiContract, 5.0)
170 runtimeclass SpeechSynthesizer
172 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizer;
173 interface Windows.Foundation.IClosable;
174 [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizer2;