| /* | |
| * Copyright 2023 Rémi Bernon for CodeWeavers | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | |
| */ | |
| #ifdef __WIDL__ | |
| #pragma winrt ns_prefix | |
| #endif | |
| import "windows.foundation.idl"; | |
| import "windows.applicationmodel.idl"; | |
| namespace Windows.Management.Deployment { | |
| typedef enum DeploymentOptions DeploymentOptions; | |
| typedef enum DeploymentProgressState DeploymentProgressState; | |
| typedef enum PackageInstallState PackageInstallState; | |
| typedef enum PackageState PackageState; | |
| typedef enum PackageTypes PackageTypes; | |
| typedef enum RemovalOptions RemovalOptions; | |
| typedef struct DeploymentProgress DeploymentProgress; | |
| interface IDeploymentResult; | |
| interface IPackageManager; | |
| interface IPackageManager2; | |
| interface IPackageUserInformation; | |
| runtimeclass DeploymentResult; | |
| runtimeclass PackageManager; | |
| runtimeclass PackageUserInformation; | |
| declare { | |
| interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri *>; | |
| interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Uri *>; | |
| interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *>; | |
| interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Package *>; | |
| interface Windows.Foundation.Collections.IIterable<Windows.Management.Deployment.PackageUserInformation *>; | |
| interface Windows.Foundation.Collections.IIterator<Windows.Management.Deployment.PackageUserInformation *>; | |
| interface Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress>; | |
| interface Windows.Foundation.AsyncOperationProgressHandler<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress>; | |
| interface Windows.Foundation.AsyncOperationWithProgressCompletedHandler<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress>; | |
| } | |
| [contract(Windows.Foundation.UniversalApiContract, 1.0)] | |
| [flags] | |
| enum DeploymentOptions | |
| { | |
| None = 0x0, | |
| ForceApplicationShutdown = 0x1, | |
| DevelopmentMode = 0x2, | |
| [contract(Windows.Foundation.UniversalApiContract, 1.0)] | |
| InstallAllResources = 0x20, | |
| [contract(Windows.Foundation.UniversalApiContract, 1.0)] | |
| ForceTargetApplicationShutdown = 0x40, | |
| [contract(Windows.Foundation.UniversalApiContract, 4.0)] | |
| RequiredContentGroupOnly = 0x100, | |
| [contract(Windows.Foundation.UniversalApiContract, 7.0)] | |
| ForceUpdateFromAnyVersion = 0x40000, | |
| [contract(Windows.Foundation.UniversalApiContract, 10.0)] | |
| RetainFilesOnFailure = 0x200000, | |
| [contract(Windows.Foundation.UniversalApiContract, 10.0)] | |
| StageInPlace = 0x400000, | |
| }; | |
| [contract(Windows.Foundation.UniversalApiContract, 1.0)] | |
| enum DeploymentProgressState | |
| { | |
| Queued = 0, | |
| Processing = 1, | |
| }; | |
| [contract(Windows.Foundation.UniversalApiContract, 1.0)] | |
| enum PackageInstallState | |
| { | |
| NotInstalled = 0, | |
| Staged = 1, | |
| Installed = 2, | |
| [contract(Windows.Foundation.UniversalApiContract, 2.0)] | |
| Paused = 6, | |
| }; | |
| [contract(Windows.Foundation.UniversalApiContract, 1.0)] | |
| enum PackageState | |
| { | |
| Normal = 0, | |
| LicenseInvalid = 1, | |
| Modified = 2, | |
| Tampered = 3, | |
| }; | |
| [contract(Windows.Foundation.UniversalApiContract, 1.0)] | |
| [flags] | |
| enum PackageTypes | |
| { | |
| None = 0x0, | |
| Main = 0x1, | |
| Framework = 0x2, | |
| Resource = 0x4, | |
| Bundle = 0x8, | |
| [contract(Windows.Foundation.UniversalApiContract, 1.0)] | |
| Xap = 0x10, | |
| [contract(Windows.Foundation.UniversalApiContract, 3.0)] | |
| Optional = 0x20, | |
| [contract(Windows.Foundation.UniversalApiContract, 10.0)] | |
| All = 0xffffffff, | |
| }; | |
| [contract(Windows.Foundation.UniversalApiContract, 1.0)] | |
| [flags] | |
| enum RemovalOptions | |
| { | |
| None = 0x0, | |
| PreserveApplicationData = 0x1000, | |
| [contract(Windows.Foundation.UniversalApiContract, 10.0)] | |
| PreserveRoamableApplicationData = 0x80, | |
| [contract(Windows.Foundation.UniversalApiContract, 7.0)] | |
| RemoveForAllUsers = 0x80000, | |
| }; | |
| [contract(Windows.Foundation.UniversalApiContract, 1.0)] | |
| struct DeploymentProgress | |
| { | |
| Windows.Management.Deployment.DeploymentProgressState state; | |
| UINT32 percentage; | |
| }; | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Management.Deployment.DeploymentResult), | |
| uuid(2563b9ae-b77d-4c1f-8a7b-20e6ad515ef3) | |
| ] | |
| interface IDeploymentResult : IInspectable | |
| { | |
| [propget] HRESULT ErrorText([out, retval] HSTRING *value); | |
| [propget] HRESULT ActivityId([out, retval] GUID *value); | |
| [propget] HRESULT ExtendedErrorCode([out, retval] HRESULT *value); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Management.Deployment.PackageManager), | |
| uuid(9a7d4b65-5e8f-4fc7-a2e5-7f6925cb8b53) | |
| ] | |
| interface IPackageManager : IInspectable | |
| { | |
| [overload("AddPackageAsync")] | |
| HRESULT AddPackageAsync([in] Windows.Foundation.Uri *uri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri *> *dependencies, [in] Windows.Management.Deployment.DeploymentOptions options, | |
| [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation); | |
| HRESULT UpdatePackageAsync([in] Windows.Foundation.Uri *uri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri *> *dependencies, [in] Windows.Management.Deployment.DeploymentOptions options, | |
| [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation); | |
| HRESULT RemovePackageAsync([in] HSTRING name, [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation); | |
| HRESULT StagePackageAsync([in] Windows.Foundation.Uri *uri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri *> *dependencies, | |
| [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation); | |
| [overload("RegisterPackageAsync")] | |
| HRESULT RegisterPackageAsync([in] Windows.Foundation.Uri* uri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri *> *dependencies, [in] Windows.Management.Deployment.DeploymentOptions options, | |
| [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation); | |
| [overload("FindPackages")] | |
| HRESULT FindPackages([out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages); | |
| [overload("FindPackagesForUser")] | |
| HRESULT FindPackagesByUserSecurityId([in] HSTRING sid, [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages); | |
| [overload("FindPackages")] | |
| HRESULT FindPackagesByNamePublisher([in] HSTRING name, [in] HSTRING publisher, [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages); | |
| [overload("FindPackagesForUser")] | |
| HRESULT FindPackagesByUserSecurityIdNamePublisher([in] HSTRING sid, [in] HSTRING name, [in] HSTRING publisher, [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages); | |
| HRESULT FindUsers([in] HSTRING name, [out, retval] Windows.Foundation.Collections.IIterable<Windows.Management.Deployment.PackageUserInformation *> **users); | |
| HRESULT SetPackageState([in] HSTRING name, [in] Windows.Management.Deployment.PackageState state); | |
| [overload("FindPackage")] | |
| HRESULT FindPackageByPackageFullName([in] HSTRING name, [out, retval] Windows.ApplicationModel.Package **package); | |
| HRESULT CleanupPackageForUserAsync([in] HSTRING name, [in] HSTRING sid, [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation); | |
| [overload("FindPackages")] | |
| HRESULT FindPackagesByPackageFamilyName([in] HSTRING family_name, [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages); | |
| [overload("FindPackagesForUser")] | |
| HRESULT FindPackagesByUserSecurityIdPackageFamilyName([in] HSTRING sid, [in] HSTRING family_name, [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages); | |
| [overload("FindPackageForUser")] | |
| HRESULT FindPackageByUserSecurityIdPackageFullName([in] HSTRING sid, [in] HSTRING name, [out, retval] Windows.ApplicationModel.Package **package); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Management.Deployment.PackageManager), | |
| uuid(f7aad08d-0840-46f2-b5d8-cad47693a095) | |
| ] | |
| interface IPackageManager2 : IInspectable | |
| { | |
| [overload("RemovePackageAsync")] | |
| HRESULT RemovePackageWithOptionsAsync([in] HSTRING name, [in] Windows.Management.Deployment.RemovalOptions options, | |
| [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation); | |
| [overload("StagePackageAsync")] | |
| HRESULT StagePackageWithOptionsAsync([in] Windows.Foundation.Uri *uri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri *> *dependencies, | |
| [in] Windows.Management.Deployment.DeploymentOptions options, | |
| [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation); | |
| HRESULT RegisterPackageByFullNameAsync([in] HSTRING name, [in] Windows.Foundation.Collections.IIterable<HSTRING> *dependencies, | |
| [in] Windows.Management.Deployment.DeploymentOptions options, | |
| [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation); | |
| [overload("FindPackagesWithPackageTypes")] | |
| HRESULT FindPackagesWithPackageTypes([in] Windows.Management.Deployment.PackageTypes types, [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages); | |
| [overload("FindPackagesForUserWithPackageTypes")] | |
| HRESULT FindPackagesByUserSecurityIdWithPackageTypes([in] HSTRING sid, [in] Windows.Management.Deployment.PackageTypes types, | |
| [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages); | |
| [overload("FindPackagesWithPackageTypes")] | |
| HRESULT FindPackagesByNamePublisherWithPackageTypes([in] HSTRING name, [in] HSTRING publisher, [in] Windows.Management.Deployment.PackageTypes types, | |
| [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages); | |
| [overload("FindPackagesForUserWithPackageTypes")] | |
| HRESULT FindPackagesByUserSecurityIdNamePublisherWithPackageTypes([in] HSTRING sid, [in] HSTRING name, [in] HSTRING publisher, [in] Windows.Management.Deployment.PackageTypes types, | |
| [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages); | |
| [overload("FindPackagesWithPackageTypes")] | |
| HRESULT FindPackagesByPackageFamilyNameWithPackageTypes([in] HSTRING family_name, [in] Windows.Management.Deployment.PackageTypes types, | |
| [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages); | |
| [overload("FindPackagesForUserWithPackageTypes")] | |
| HRESULT FindPackagesByUserSecurityIdPackageFamilyNameWithPackageTypes([in] HSTRING sid, [in] HSTRING family_name, [in] Windows.Management.Deployment.PackageTypes types, | |
| [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages); | |
| [overload("StageUserDataAsync")] | |
| HRESULT StageUserDataAsync([in] HSTRING name, [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Management.Deployment.PackageUserInformation), | |
| uuid(f6383423-fa09-4cbc-9055-15ca275e2e7e) | |
| ] | |
| interface IPackageUserInformation : IInspectable | |
| { | |
| [propget] HRESULT UserSecurityId([out, retval] HSTRING *value); | |
| [propget] HRESULT InstallState([out, retval] Windows.Management.Deployment.PackageInstallState *value); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| marshaling_behavior(agile) | |
| ] | |
| runtimeclass DeploymentResult | |
| { | |
| [default] interface Windows.Management.Deployment.IDeploymentResult; | |
| /* [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Management.Deployment.IDeploymentResult2; */ | |
| } | |
| [ | |
| activatable(Windows.Foundation.UniversalApiContract, 1.0), | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| marshaling_behavior(agile), | |
| threading(both) | |
| ] | |
| runtimeclass PackageManager | |
| { | |
| [default] interface Windows.Management.Deployment.IPackageManager; | |
| [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Management.Deployment.IPackageManager2; | |
| /* [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Management.Deployment.IPackageManager3; */ | |
| /* [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Management.Deployment.IPackageManager4; */ | |
| /* [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Management.Deployment.IPackageManager5; */ | |
| /* [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Management.Deployment.IPackageManager6; */ | |
| /* [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Management.Deployment.IPackageManager7; */ | |
| /* [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Management.Deployment.IPackageManager8; */ | |
| /* [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.Management.Deployment.IPackageManager9; */ | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| marshaling_behavior(agile) | |
| ] | |
| runtimeclass PackageUserInformation | |
| { | |
| [default] interface Windows.Management.Deployment.IPackageUserInformation; | |
| } | |
| } |