2 * Copyright 2023 Hans Leidekker 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
24 import
"windows.foundation.idl";
25 import
"windows.storage.idl";
26 import
"windows.system.idl";
27 import
"windows.applicationmodel.core.idl";
30 namespace Windows.ApplicationModel.Core
{
31 runtimeclass AppListEntry
;
34 namespace Windows.ApplicationModel
{
35 typedef struct PackageVersion PackageVersion
;
37 interface IAppDisplayInfo
;
41 interface IPackageStatus
;
43 interface IPackageIdWithMetadata
;
44 interface IPackageStatics
;
46 runtimeclass AppDisplayInfo
;
48 runtimeclass PackageId
;
49 runtimeclass PackageStatus
;
52 interface Windows.Foundation.Collections.IIterable
<Windows.ApplicationModel.Package
*>;
53 interface Windows.Foundation.Collections.IIterator
<Windows.ApplicationModel.Package
*>;
54 interface Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Package
*>;
55 interface Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Core.AppListEntry
*>;
56 interface Windows.Foundation.IAsyncOperation
<Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Core.AppListEntry
*> *>;
57 interface Windows.Foundation.AsyncOperationCompletedHandler
<Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Core.AppListEntry
*> *>;
61 contract
(Windows.Foundation.UniversalApiContract
, 1.0)
72 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
73 exclusiveto
(Windows.ApplicationModel.AppDisplayInfo
),
74 uuid(1aeb1103
-e4d4
-41aa
-a4f6
-c4a276e79eac
)
76 interface IAppDisplayInfo
: IInspectable
78 [propget] HRESULT DisplayName
([out, retval] HSTRING
*value
);
79 [propget] HRESULT Description
([out, retval] HSTRING
*value
);
80 HRESULT GetLogo
([in] Windows.Foundation.Size size
, [out, retval] Windows.Storage.Streams.RandomAccessStreamReference
**value
);
84 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
85 exclusiveto
(Windows.ApplicationModel.Package
),
86 uuid(163c792f
-bd75
-413c
-bf23
-b1fe7b95d825
)
88 interface IPackage
: IInspectable
90 [propget] HRESULT Id([out, retval] Windows.ApplicationModel.PackageId
**value
);
91 [propget] HRESULT InstalledLocation
([out, retval] Windows.Storage.StorageFolder
**value
);
92 [propget] HRESULT IsFramework
([out, retval] boolean *value
);
93 [propget] HRESULT Dependencies
([out, retval] Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Package
*> **value
);
97 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
98 exclusiveto
(Windows.ApplicationModel.Package
),
99 uuid(a6612fb6
-7688-4ace
-95fb
-359538e7aa01
)
101 interface IPackage2
: IInspectable
103 [propget] HRESULT DisplayName
([out, retval] HSTRING
*value
);
104 [propget] HRESULT PublisherDisplayName
([out, retval] HSTRING
*value
);
105 [propget] HRESULT Description
([out, retval] HSTRING
*value
);
106 [propget] HRESULT Logo
([out, retval] Windows.Foundation.Uri
**value
);
107 [propget] HRESULT IsResourcePackage
([out, retval] boolean *value
);
108 [propget] HRESULT IsBundle
([out, retval] boolean *value
);
109 [propget] HRESULT IsDevelopmentMode
([out, retval] boolean *value
);
113 exclusiveto
(Windows.ApplicationModel.Package
),
114 uuid(5f738b61
-f86a
-4917-93d1
-f1ee9d3b35d9
),
117 interface IPackage3
: IInspectable
119 [propget] HRESULT Status
([out, retval] Windows.ApplicationModel.PackageStatus
**value
);
120 [propget] HRESULT InstalledDate
([out, retval] Windows.Foundation.DateTime
*value
);
121 HRESULT GetAppListEntriesAsync
([out, retval] Windows.Foundation.IAsyncOperation
<Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Core.AppListEntry
*> *> **operation
);
125 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
126 exclusiveto
(Windows.ApplicationModel.PackageStatus
),
127 uuid(5fe74f71
-a365
-4c09
-a02d
-046d525ea1da
)
129 interface IPackageStatus
: IInspectable
131 HRESULT VerifyIsOK
([out, retval] boolean *value
);
132 [propget] HRESULT NotAvailable
([out, retval] boolean *value
);
133 [propget] HRESULT PackageOffline
([out, retval] boolean *value
);
134 [propget] HRESULT DataOffline
([out, retval] boolean *value
);
135 [propget] HRESULT Disabled
([out, retval] boolean *value
);
136 [propget] HRESULT NeedsRemediation
([out, retval] boolean *value
);
137 [propget] HRESULT LicenseIssue
([out, retval] boolean *value
);
138 [propget] HRESULT Modified
([out, retval] boolean *value
);
139 [propget] HRESULT Tampered
([out, retval] boolean *value
);
140 [propget] HRESULT DependencyIssue
([out, retval] boolean *value
);
141 [propget] HRESULT Servicing
([out, retval] boolean *value
);
142 [propget] HRESULT DeploymentInProgress
([out, retval] boolean *value
);
146 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
147 exclusiveto
(Windows.ApplicationModel.PackageId
),
148 uuid(1adb665e
-37c7
-4790-9980-dd7ae74e8bb2
)
150 interface IPackageId
: IInspectable
152 [propget] HRESULT Name
([out, retval] HSTRING
*value
);
153 [propget] HRESULT Version([out, retval] Windows.ApplicationModel.PackageVersion
*value
);
154 [propget] HRESULT Architecture
([out, retval] Windows.System.ProcessorArchitecture
*value
);
155 [propget] HRESULT ResourceId
([out, retval] HSTRING
*value
);
156 [propget] HRESULT Publisher
([out, retval] HSTRING
*value
);
157 [propget] HRESULT PublisherId
([out, retval] HSTRING
*value
);
158 [propget] HRESULT FullName
([out, retval] HSTRING
*value
);
159 [propget] HRESULT FamilyName
([out, retval] HSTRING
*value
);
163 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
164 exclusiveto
(Windows.ApplicationModel.PackageId
),
165 uuid(40577a7c
-0c9e
-443d
-9074-855f5ce0a08d
)
167 interface IPackageIdWithMetadata
: IInspectable
169 [propget] HRESULT ProductId
([out, retval] HSTRING
*value
);
170 [propget] HRESULT Author
([out, retval] HSTRING
*value
);
174 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
175 exclusiveto
(Windows.ApplicationModel.Package
),
176 uuid(4e534bdf
-2960-4878-97a4
-9624deb72f2d
)
178 interface IPackageStatics
: IInspectable
180 [propget] HRESULT Current
([out, retval] Windows.ApplicationModel.Package
**value
);
184 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
185 marshaling_behavior
(agile
),
188 runtimeclass AppDisplayInfo
190 [default] interface Windows.ApplicationModel.IAppDisplayInfo
;
194 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
195 marshaling_behavior
(agile
),
196 static
(Windows.ApplicationModel.IPackageStatics
, Windows.Foundation.UniversalApiContract
, 1.0),
201 [default] interface Windows.ApplicationModel.IPackage
;
202 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)] interface Windows.ApplicationModel.IPackage2
;
203 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)] interface Windows.ApplicationModel.IPackage3
;
204 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)] interface Windows.ApplicationModel.IPackageWithMetadata
;
205 [contract
(Windows.Foundation.UniversalApiContract
, 3.0)] interface Windows.ApplicationModel.IPackage4
;
206 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)] interface Windows.ApplicationModel.IPackage5
;
207 [contract
(Windows.Foundation.UniversalApiContract
, 7.0)] interface Windows.ApplicationModel.IPackage6
;
208 [contract
(Windows.Foundation.UniversalApiContract
, 8.0)] interface Windows.ApplicationModel.IPackage7
;
209 [contract
(Windows.Foundation.UniversalApiContract
, 10.0)] interface Windows.ApplicationModel.IPackage8
;
213 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
214 marshaling_behavior
(agile
)
216 runtimeclass PackageStatus
218 [default] interface Windows.ApplicationModel.IPackageStatus
;
219 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)] interface Windows.ApplicationModel.IPackageStatus2
;
223 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
224 marshaling_behavior
(agile
)
226 runtimeclass PackageId
228 [default] interface Windows.ApplicationModel.IPackageId
;
229 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)] interface Windows.ApplicationModel.IPackageIdWithMetadata
;