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
23 import
"windows.foundation.idl";
24 import
"windows.storage.idl";
25 import
"windows.system.idl";
26 import
"windows.applicationmodel.core.idl";
28 namespace Windows.ApplicationModel.Core
{
29 runtimeclass AppListEntry
;
32 namespace Windows.ApplicationModel
{
33 typedef struct PackageVersion PackageVersion
;
35 interface IAppDisplayInfo
;
38 interface IPackageStatus
;
40 interface IPackageIdWithMetadata
;
41 interface IPackageStatics
;
43 runtimeclass AppDisplayInfo
;
45 runtimeclass PackageId
;
46 runtimeclass PackageStatus
;
49 interface Windows.Foundation.Collections.IIterable
<Windows.ApplicationModel.Package
*>;
50 interface Windows.Foundation.Collections.IIterator
<Windows.ApplicationModel.Package
*>;
51 interface Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Package
*>;
52 interface Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Core.AppListEntry
*>;
53 interface Windows.Foundation.IAsyncOperation
<Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Core.AppListEntry
*> *>;
54 interface Windows.Foundation.AsyncOperationCompletedHandler
<Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Core.AppListEntry
*> *>;
58 contract
(Windows.Foundation.UniversalApiContract
, 1.0)
69 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
70 exclusiveto
(Windows.ApplicationModel.AppDisplayInfo
),
71 uuid(1aeb1103
-e4d4
-41aa
-a4f6
-c4a276e79eac
)
73 interface IAppDisplayInfo
: IInspectable
75 [propget] HRESULT DisplayName
([out, retval] HSTRING
*value
);
76 [propget] HRESULT Description
([out, retval] HSTRING
*value
);
77 HRESULT GetLogo
([in] Windows.Foundation.Size size
, [out, retval] Windows.Storage.Streams.RandomAccessStreamReference
**value
);
81 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
82 exclusiveto
(Windows.ApplicationModel.Package
),
83 uuid(163c792f
-bd75
-413c
-bf23
-b1fe7b95d825
)
85 interface IPackage
: IInspectable
87 [propget] HRESULT Id([out, retval] Windows.ApplicationModel.PackageId
**value
);
88 [propget] HRESULT InstalledLocation
([out, retval] Windows.Storage.StorageFolder
**value
);
89 [propget] HRESULT IsFramework
([out, retval] boolean *value
);
90 [propget] HRESULT Dependencies
([out, retval] Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Package
*> **value
);
94 exclusiveto
(Windows.ApplicationModel.Package
),
95 uuid(5f738b61
-f86a
-4917-93d1
-f1ee9d3b35d9
),
98 interface IPackage3
: IInspectable
100 [propget] HRESULT Status
([out, retval] Windows.ApplicationModel.PackageStatus
**value
);
101 [propget] HRESULT InstalledDate
([out, retval] Windows.Foundation.DateTime
*value
);
102 HRESULT GetAppListEntriesAsync
([out, retval] Windows.Foundation.IAsyncOperation
<Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Core.AppListEntry
*> *> **operation
);
106 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
107 exclusiveto
(Windows.ApplicationModel.PackageStatus
),
108 uuid(5fe74f71
-a365
-4c09
-a02d
-046d525ea1da
)
110 interface IPackageStatus
: IInspectable
112 HRESULT VerifyIsOK
([out, retval] boolean *value
);
113 [propget] HRESULT NotAvailable
([out, retval] boolean *value
);
114 [propget] HRESULT PackageOffline
([out, retval] boolean *value
);
115 [propget] HRESULT DataOffline
([out, retval] boolean *value
);
116 [propget] HRESULT Disabled
([out, retval] boolean *value
);
117 [propget] HRESULT NeedsRemediation
([out, retval] boolean *value
);
118 [propget] HRESULT LicenseIssue
([out, retval] boolean *value
);
119 [propget] HRESULT Modified
([out, retval] boolean *value
);
120 [propget] HRESULT Tampered
([out, retval] boolean *value
);
121 [propget] HRESULT DependencyIssue
([out, retval] boolean *value
);
122 [propget] HRESULT Servicing
([out, retval] boolean *value
);
123 [propget] HRESULT DeploymentInProgress
([out, retval] boolean *value
);
127 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
128 exclusiveto
(Windows.ApplicationModel.PackageId
),
129 uuid(1adb665e
-37c7
-4790-9980-dd7ae74e8bb2
)
131 interface IPackageId
: IInspectable
133 [propget] HRESULT Name
([out, retval] HSTRING
*value
);
134 [propget] HRESULT Version([out, retval] Windows.ApplicationModel.PackageVersion
*value
);
135 [propget] HRESULT Architecture
([out, retval] Windows.System.ProcessorArchitecture
*value
);
136 [propget] HRESULT ResourceId
([out, retval] HSTRING
*value
);
137 [propget] HRESULT Publisher
([out, retval] HSTRING
*value
);
138 [propget] HRESULT PublisherId
([out, retval] HSTRING
*value
);
139 [propget] HRESULT FullName
([out, retval] HSTRING
*value
);
140 [propget] HRESULT FamilyName
([out, retval] HSTRING
*value
);
144 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
145 exclusiveto
(Windows.ApplicationModel.PackageId
),
146 uuid(40577a7c
-0c9e
-443d
-9074-855f5ce0a08d
)
148 interface IPackageIdWithMetadata
: IInspectable
150 [propget] HRESULT ProductId
([out, retval] HSTRING
*value
);
151 [propget] HRESULT Author
([out, retval] HSTRING
*value
);
155 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
156 exclusiveto
(Windows.ApplicationModel.Package
),
157 uuid(4e534bdf
-2960-4878-97a4
-9624deb72f2d
)
159 interface IPackageStatics
: IInspectable
161 [propget] HRESULT Current
([out, retval] Windows.ApplicationModel.Package
**value
);
165 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
166 marshaling_behavior
(agile
),
169 runtimeclass AppDisplayInfo
171 [default] interface Windows.ApplicationModel.IAppDisplayInfo
;
175 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
176 marshaling_behavior
(agile
),
177 static
(Windows.ApplicationModel.IPackageStatics
, Windows.Foundation.UniversalApiContract
, 1.0),
182 [default] interface Windows.ApplicationModel.IPackage
;
183 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)] interface Windows.ApplicationModel.IPackage2
;
184 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)] interface Windows.ApplicationModel.IPackage3
;
185 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)] interface Windows.ApplicationModel.IPackageWithMetadata
;
186 [contract
(Windows.Foundation.UniversalApiContract
, 3.0)] interface Windows.ApplicationModel.IPackage4
;
187 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)] interface Windows.ApplicationModel.IPackage5
;
188 [contract
(Windows.Foundation.UniversalApiContract
, 7.0)] interface Windows.ApplicationModel.IPackage6
;
189 [contract
(Windows.Foundation.UniversalApiContract
, 8.0)] interface Windows.ApplicationModel.IPackage7
;
190 [contract
(Windows.Foundation.UniversalApiContract
, 10.0)] interface Windows.ApplicationModel.IPackage8
;
194 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
195 marshaling_behavior
(agile
)
197 runtimeclass PackageStatus
199 [default] interface Windows.ApplicationModel.IPackageStatus
;
200 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)] interface Windows.ApplicationModel.IPackageStatus2
;
204 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
205 marshaling_behavior
(agile
)
207 runtimeclass PackageId
209 [default] interface Windows.ApplicationModel.IPackageId
;
210 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)] interface Windows.ApplicationModel.IPackageIdWithMetadata
;