winget-cli

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

Interface.h (1259B)


      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_6/Interface.h"
      6 
      7 namespace AppInstaller::Repository::Microsoft::Schema::V1_7
      8 {
      9     using namespace std::string_view_literals;
     10 
     11     // Version 1.7
     12     static constexpr std::string_view s_MetadataValueName_MapDataFolded = "mapDataFolded"sv;
     13     static constexpr char s_MetadataValue_MapDataFolded_Separator = ';';
     14 
     15     // Interface to this schema version exposed through ISQLiteIndex.
     16     struct Interface : public V1_6::Interface
     17     {
     18         static constexpr std::string_view MapDataFolded_VersionSpecifier = "1.7"sv;
     19 
     20         Interface(Utility::NormalizationVersion normVersion = Utility::NormalizationVersion::Initial);
     21 
     22         // Version 1.0
     23         SQLite::Version GetVersion() const override;
     24         std::vector<std::string> GetMultiPropertyByPrimaryId(const SQLite::Connection& connection, SQLite::rowid_t primaryId, PackageVersionMultiProperty property) const override;
     25 
     26     protected:
     27         void PrepareForPackaging(SQLite::Connection& connection, bool vacuum) override;
     28         V1_0::OneToManyTableSchema GetOneToManyTableSchema() const override;
     29     };
     30 }