winget-cli

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

CatalogPackage.h (2773B)


      1 // Copyright (c) Microsoft Corporation.
      2 // Licensed under the MIT License.
      3 #pragma once
      4 #include "CatalogPackage.g.h"
      5 
      6 namespace winrt::Microsoft::Management::Deployment::implementation
      7 {
      8     struct CatalogPackage : CatalogPackageT<CatalogPackage>
      9     {
     10         CatalogPackage() = default;
     11 
     12 #if !defined(INCLUDE_ONLY_INTERFACE_METHODS)
     13         void Initialize(
     14             ::AppInstaller::Repository::Source source,
     15             std::shared_ptr<::AppInstaller::Repository::ICompositePackage> package);
     16         std::shared_ptr<::AppInstaller::Repository::ICompositePackage> GetRepositoryPackage();
     17 #endif
     18 
     19         hstring Id();
     20         hstring Name();
     21         winrt::Microsoft::Management::Deployment::PackageVersionInfo InstalledVersion();
     22         winrt::Windows::Foundation::Collections::IVectorView<winrt::Microsoft::Management::Deployment::PackageVersionId> AvailableVersions();
     23         winrt::Microsoft::Management::Deployment::PackageVersionInfo DefaultInstallVersion();
     24         winrt::Microsoft::Management::Deployment::PackageVersionInfo GetPackageVersionInfo(winrt::Microsoft::Management::Deployment::PackageVersionId const& versionKey);
     25         bool IsUpdateAvailable();
     26         // Contract 5.0
     27         winrt::Windows::Foundation::IAsyncOperation<winrt::Microsoft::Management::Deployment::CheckInstalledStatusResult> CheckInstalledStatusAsync(
     28             winrt::Microsoft::Management::Deployment::InstalledStatusType checkTypes);
     29         winrt::Microsoft::Management::Deployment::CheckInstalledStatusResult CheckInstalledStatus(
     30             winrt::Microsoft::Management::Deployment::InstalledStatusType checkTypes);
     31         winrt::Windows::Foundation::IAsyncOperation<winrt::Microsoft::Management::Deployment::CheckInstalledStatusResult> CheckInstalledStatusAsync();
     32         winrt::Microsoft::Management::Deployment::CheckInstalledStatusResult CheckInstalledStatus();
     33 
     34 #if !defined(INCLUDE_ONLY_INTERFACE_METHODS)
     35     private:
     36         ::AppInstaller::Repository::Source m_source;
     37         std::shared_ptr<::AppInstaller::Repository::ICompositePackage> m_package;
     38         bool m_updateAvailable = false;
     39         Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageVersionId> m_availableVersions{ winrt::single_threaded_vector<winrt::Microsoft::Management::Deployment::PackageVersionId>() };
     40         winrt::Microsoft::Management::Deployment::PackageVersionInfo m_installedVersion{ nullptr };
     41         winrt::Microsoft::Management::Deployment::PackageVersionInfo m_latestApplicableVersion{ nullptr };
     42         std::once_flag m_installedVersionOnceFlag;
     43         std::once_flag m_availableVersionsOnceFlag;
     44         std::once_flag m_latestApplicableVersionOnceFlag;
     45 
     46         void InitializeLatestApplicableVersion();
     47 #endif
     48     };
     49 }