winget-cli

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

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 }