winget-cli

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

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 }