PinningIndexInterface.h (1075B)
1 // Copyright (c) Microsoft Corporation. 2 // Licensed under the MIT License. 3 #pragma once 4 #include "Microsoft/Schema/IPinningIndex.h" 5 6 namespace AppInstaller::Repository::Microsoft::Schema::Pinning_V1_0 7 { 8 struct PinningIndexInterface : public IPinningIndex 9 { 10 // Version 1.0 11 SQLite::Version GetVersion() const override; 12 void CreateTables(SQLite::Connection& connection) override; 13 14 private: 15 SQLite::rowid_t AddPin(SQLite::Connection& connection, const Pinning::Pin& pin) override; 16 std::pair<bool, SQLite::rowid_t> UpdatePin(SQLite::Connection& connection, const Pinning::Pin& pin) override; 17 SQLite::rowid_t RemovePin(SQLite::Connection& connection, const Pinning::PinKey& pinKey) override; 18 std::optional<Pinning::Pin> GetPin(SQLite::Connection& connection, const Pinning::PinKey& pinKey) override; 19 std::vector<Pinning::Pin> GetAllPins(SQLite::Connection& connection) override; 20 bool ResetAllPins(SQLite::Connection& connection, std::string_view sourceId) override; 21 }; 22 }