winget-cli

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

SearchRequestComposer.h (1094B)


      1 // Copyright (c) Microsoft Corporation.
      2 // Licensed under the MIT License.
      3 #pragma once
      4 #include <AppInstallerVersions.h>
      5 #include <winget/JsonUtil.h>
      6 #include <winget/RepositorySearch.h>
      7 
      8 #include <memory>
      9 #include <vector>
     10 
     11 namespace AppInstaller::Repository::Rest::Schema
     12 {
     13     // Exposes functions for creating JSON REST request body from search requests.
     14     struct SearchRequestComposer
     15     {
     16         SearchRequestComposer(const Utility::Version& schemaVersion);
     17 
     18         SearchRequestComposer(const SearchRequestComposer&) = delete;
     19         SearchRequestComposer& operator=(const SearchRequestComposer&) = delete;
     20 
     21         SearchRequestComposer(SearchRequestComposer&&) noexcept;
     22         SearchRequestComposer& operator=(SearchRequestComposer&&) noexcept;
     23 
     24         ~SearchRequestComposer();
     25 
     26         // Create search request rest call body from a given SearchRequest
     27         web::json::value Serialize(const AppInstaller::Repository::SearchRequest& searchRequest) const;
     28 
     29     private:
     30         struct impl;
     31         std::unique_ptr<impl> m_pImpl;
     32     };
     33 }