WinGetProjectionFactory.cs (2184B)
1 // Copyright (c) Microsoft Corporation. 2 // Licensed under the MIT License. 3 4 namespace Microsoft.Management.Deployment.Projection 5 { 6 /// <summary> 7 /// Factory class to created CsWinRT projected class instances for in-process or out-of-process objects. 8 /// </summary> 9 public class WinGetProjectionFactory 10 { 11 public WinGetProjectionFactory(IInstanceInitializer instanceInitializer) 12 { 13 InstanceInitializer = instanceInitializer; 14 } 15 16 private IInstanceInitializer InstanceInitializer { get; set; } 17 18 public ClsidContext Context => InstanceInitializer.Context; 19 20 public PackageManager CreatePackageManager() => InstanceInitializer.CreateInstance<PackageManager>(); 21 22 public FindPackagesOptions CreateFindPackagesOptions() => InstanceInitializer.CreateInstance<FindPackagesOptions>(); 23 24 public CreateCompositePackageCatalogOptions CreateCreateCompositePackageCatalogOptions() => InstanceInitializer.CreateInstance<CreateCompositePackageCatalogOptions>(); 25 26 public InstallOptions CreateInstallOptions() => InstanceInitializer.CreateInstance<InstallOptions>(); 27 28 public UninstallOptions CreateUninstallOptions() => InstanceInitializer.CreateInstance<UninstallOptions>(); 29 30 public DownloadOptions CreateDownloadOptions() => InstanceInitializer.CreateInstance<DownloadOptions>(); 31 32 public PackageMatchFilter CreatePackageMatchFilter() => InstanceInitializer.CreateInstance<PackageMatchFilter>(); 33 34 public AuthenticationArguments CreateAuthenticationArguments() => InstanceInitializer.CreateInstance<AuthenticationArguments>(); 35 36 public PackageManagerSettings CreatePackageManagerSettings() => InstanceInitializer.CreateInstance<PackageManagerSettings>(); 37 38 public RepairOptions CreateRepairOptions() => InstanceInitializer.CreateInstance<RepairOptions>(); 39 40 public AddPackageCatalogOptions CreateAddPackageCatalogOptions() => InstanceInitializer.CreateInstance<AddPackageCatalogOptions>(); 41 42 public RemovePackageCatalogOptions CreateRemovePackageCatalogOptions() => InstanceInitializer.CreateInstance<RemovePackageCatalogOptions>(); 43 } 44 }