mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 01:57:23 +00:00
279 lines
16 KiB
Text
279 lines
16 KiB
Text
/*
|
|
* 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;
|
|
}
|
|
|
|
}
|