2 * Copyright 2015 Jacek Caban 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
20 #pragma winrt ns_prefix
23 import
"inspectable.idl";
24 /* import "asyncinfo.idl"; */
25 import
"windowscontracts.idl";
26 /* import "eventtoken.idl"; */
27 /* import "ivectorchangedeventargs.idl"; */
30 namespace Foundation
{
31 [contract
(Windows.Foundation.FoundationContract
, 1.0)]
66 InspectableArray
= 1037,
76 [contract
(Windows.Foundation.FoundationContract
, 1.0)]
82 [contract
(Windows.Foundation.FoundationContract
, 1.0)]
88 [contract
(Windows.Foundation.FoundationContract
, 1.0)]
96 [contract
(Windows.Foundation.FoundationContract
, 1.0)]
101 [contract
(Windows.Foundation.FoundationContract
, 1.0)]
107 contract
(Windows.Foundation.FoundationContract
, 1.0),
108 uuid(96369f54
-8eb6
-48f0
-abce
-c1b211e627c3
)
110 interface IStringable
: IInspectable
112 HRESULT ToString
([out, retval] HSTRING
*value
);
116 namespace Collections
119 contract
(Windows.Foundation.FoundationContract
, 1.0),
120 uuid(6a79e863
-4300-459a
-9966-cbb660963ee1
)
122 interface IIterator
<T
> : IInspectable
124 [propget] HRESULT Current
([out, retval] T
*value
);
125 [propget] HRESULT HasCurrent
([out, retval] BOOL
*value
);
126 HRESULT MoveNext
([out, retval] BOOL
*value
);
127 HRESULT GetMany
([in] UINT32 count
, [out] T
*items
, [out, retval] UINT32
*value
);
131 contract
(Windows.Foundation.FoundationContract
, 1.0),
132 uuid(faa585ea
-6214-4217-afda
-7f46de5869b3
)
134 interface IIterable
<T
> : IInspectable
136 HRESULT First
([out, retval] Windows.Foundation.Collections.IIterator
<T
> **value
);
140 contract
(Windows.Foundation.FoundationContract
, 1.0),
141 uuid(bbe1fa4c
-b0e3
-4583-baef
-1f1b2e483e56
)
143 interface IVectorView
<T
> : IInspectable
145 HRESULT GetAt
([in] ULONG index
, [out, retval] T
*value
);
146 [propget] HRESULT Size
([out, retval] ULONG
*value
);
147 HRESULT IndexOf
([in, optional] T element
, [out] ULONG
*index
, [out, retval] BOOLEAN *value
);
148 HRESULT GetMany
([in] ULONG start_index
, [out] T
*items
, [out, retval] ULONG
*value
);