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 }