winget-cli

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

Interface.h (2495B)


      1 // Copyright (c) Microsoft Corporation.
      2 // Licensed under the MIT License.
      3 #pragma once
      4 #include "Database/Schema/IConfigurationDatabase.h"
      5 #include "Database/Schema/0_2/Interface.h"
      6 
      7 namespace winrt::Microsoft::Management::Configuration::implementation::Database::Schema::V0_3
      8 {
      9     struct Interface : public V0_2::Interface
     10     {
     11         using V0_2::Interface::Interface;
     12 
     13         const AppInstaller::SQLite::Version& GetSchemaVersion() override;
     14 
     15         // Version 0.1
     16         void InitializeDatabase() override;
     17         void RemoveSet(AppInstaller::SQLite::rowid_t target) override;
     18 
     19         // Version 0.2
     20         bool MigrateFrom(IConfigurationDatabase* current) override;
     21         void AddQueueItem(const GUID& instanceIdentifier, const std::string& objectName) override;
     22         std::vector<std::tuple<GUID, std::string, std::chrono::system_clock::time_point, DWORD, bool>> GetQueueItems() override;
     23 
     24         // Version 0.3
     25         std::vector<StatusItemTuple> GetStatusSince(int64_t changeIdentifier) override;
     26         std::tuple<int64_t, std::vector<StatusItemTuple>> GetStatusBaseline() override;
     27         void AddListener(const std::string& objectName) override;
     28         void RemoveListener(const std::string& objectName) override;
     29         std::vector<std::tuple<std::string, std::chrono::system_clock::time_point, DWORD>> GetChangeListeners() override;
     30         void UpdateSetState(const guid& setInstanceIdentifier, ConfigurationSetState state) override;
     31         void UpdateSetInQueue(const guid& setInstanceIdentifier, bool inQueue) override;
     32         void UpdateUnitState(const guid& setInstanceIdentifier, const ConfigurationSetChangeDataPtr& changeData) override;
     33         ConfigurationSetState GetSetState(const guid& instanceIdentifier) override;
     34         std::chrono::system_clock::time_point GetSetFirstApply(const guid& instanceIdentifier) override;
     35         std::chrono::system_clock::time_point GetSetApplyBegun(const guid& instanceIdentifier) override;
     36         std::chrono::system_clock::time_point GetSetApplyEnded(const guid& instanceIdentifier) override;
     37         ConfigurationUnitState GetUnitState(const guid& instanceIdentifier) override;
     38         std::optional<std::tuple<HRESULT, std::string, std::string, ConfigurationUnitResultSource>> GetUnitResultInformation(const guid& instanceIdentifier) override;
     39 
     40     private:
     41         // Unconditionally attempts to migrate from the 0.2 base.
     42         void MigrateFrom0_2();
     43     };
     44 }