winget-cli

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

CheckpointDatabaseInterface.h (1483B)


      1 // Copyright (c) Microsoft Corporation.
      2 // Licensed under the MIT License.
      3 #pragma once
      4 #include "Microsoft/Schema/ICheckpointDatabase.h"
      5 
      6 namespace AppInstaller::Repository::Microsoft::Schema::Checkpoint_V1_0
      7 {
      8     struct CheckpointDatabaseInterface : public ICheckpointDatabase
      9     {
     10         // Version 1.0
     11         SQLite::Version GetVersion() const override;
     12         void CreateTables(SQLite::Connection& connection) override;
     13 
     14     private:
     15         bool IsEmpty(SQLite::Connection& connection) override;
     16         SQLite::rowid_t AddCheckpoint(SQLite::Connection& connection, std::string_view checkpointName) override;
     17         std::vector<SQLite::rowid_t> GetCheckpointIds(SQLite::Connection& connection) override;
     18         std::vector<int> GetCheckpointDataTypes(SQLite::Connection& connection, SQLite::rowid_t checkpointId) override;
     19         std::vector<std::string> GetCheckpointDataFields(SQLite::Connection& connection, SQLite::rowid_t checkpointId, int dataType) override;
     20         void SetCheckpointDataValues(SQLite::Connection& connection, SQLite::rowid_t checkpointId, int dataType, std::string_view name, const std::vector<std::string>& values) override;
     21         std::optional<std::vector<std::string>> GetCheckpointDataFieldValues(SQLite::Connection& connection, SQLite::rowid_t checkpointId, int dataType, std::string_view name) override;
     22         void RemoveCheckpointDataType(SQLite::Connection& connection, SQLite::rowid_t checkpointId, int dataType) override;
     23     };
     24 }