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 }