winget-cli

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

Interface.h (1302B)


      1 // Copyright (c) Microsoft Corporation.
      2 // Licensed under the MIT License.
      3 #pragma once
      4 #include "Microsoft/Schema/ISQLiteIndex.h"
      5 #include "Microsoft/Schema/1_2/Interface.h"
      6 
      7 
      8 namespace AppInstaller::Repository::Microsoft::Schema::V1_3
      9 {
     10     // Interface to this schema version exposed through ISQLiteIndex.
     11     struct Interface : public V1_2::Interface
     12     {
     13         Interface(Utility::NormalizationVersion normVersion = Utility::NormalizationVersion::Initial);
     14 
     15         // Version 1.0
     16         SQLite::Version GetVersion() const override;
     17         void CreateTables(SQLite::Connection& connection, CreateOptions options) override;
     18         SQLite::rowid_t AddManifest(SQLite::Connection& connection, const Manifest::Manifest& manifest, const std::optional<std::filesystem::path>& relativePath) override;
     19         std::pair<bool, SQLite::rowid_t> UpdateManifest(SQLite::Connection& connection, const Manifest::Manifest& manifest, const std::optional<std::filesystem::path>& relativePath) override;
     20 
     21     protected:
     22         // Gets a property already knowing that the manifest id is valid.
     23         std::optional<std::string> GetPropertyByManifestIdInternal(const SQLite::Connection& connection, SQLite::rowid_t manifestId, PackageVersionProperty property) const override;
     24     };
     25 }