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";
27 namespace Windows.ApplicationModel
{
28 typedef struct PackageVersion PackageVersion
;
32 interface IPackageIdWithMetadata
;
33 interface IPackageStatics
;
36 runtimeclass PackageId
;
39 interface Windows.Foundation.Collections.IIterable
<Windows.ApplicationModel.Package
*>;
40 interface Windows.Foundation.Collections.IIterator
<Windows.ApplicationModel.Package
*>;
41 interface Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Package
*>;
45 contract
(Windows.Foundation.UniversalApiContract
, 1.0)
56 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
57 exclusiveto
(Windows.ApplicationModel.Package
),
58 uuid(163c792f
-bd75
-413c
-bf23
-b1fe7b95d825
)
60 interface IPackage
: IInspectable
62 [propget] HRESULT Id([out, retval] Windows.ApplicationModel.PackageId
**value
);
63 [propget] HRESULT InstalledLocation
([out, retval] Windows.Storage.StorageFolder
**value
);
64 [propget] HRESULT IsFramework
([out, retval] boolean *value
);
65 [propget] HRESULT Dependencies
([out, retval] Windows.Foundation.Collections.IVectorView
<Windows.ApplicationModel.Package
*> **value
);
69 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
70 exclusiveto
(Windows.ApplicationModel.PackageId
),
71 uuid(1adb665e
-37c7
-4790-9980-dd7ae74e8bb2
)
73 interface IPackageId
: IInspectable
75 [propget] HRESULT Name
([out, retval] HSTRING
*value
);
76 [propget] HRESULT Version([out, retval] Windows.ApplicationModel.PackageVersion
*value
);
77 [propget] HRESULT Architecture
([out, retval] Windows.System.ProcessorArchitecture
*value
);
78 [propget] HRESULT ResourceId
([out, retval] HSTRING
*value
);
79 [propget] HRESULT Publisher
([out, retval] HSTRING
*value
);
80 [propget] HRESULT PublisherId
([out, retval] HSTRING
*value
);
81 [propget] HRESULT FullName
([out, retval] HSTRING
*value
);
82 [propget] HRESULT FamilyName
([out, retval] HSTRING
*value
);
86 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
87 exclusiveto
(Windows.ApplicationModel.PackageId
),
88 uuid(40577a7c
-0c9e
-443d
-9074-855f5ce0a08d
)
90 interface IPackageIdWithMetadata
: IInspectable
92 [propget] HRESULT ProductId
([out, retval] HSTRING
*value
);
93 [propget] HRESULT Author
([out, retval] HSTRING
*value
);
97 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
98 marshaling_behavior
(agile
),
99 static
(Windows.ApplicationModel.IPackageStatics
, Windows.Foundation.UniversalApiContract
, 1.0),
104 [default] interface Windows.ApplicationModel.IPackage
;
108 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
109 marshaling_behavior
(agile
)
111 runtimeclass PackageId
113 [default] interface Windows.ApplicationModel.IPackageId
;
114 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)] interface Windows.ApplicationModel.IPackageIdWithMetadata
;