winget-cli

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

ConfigurationContext.h (1749B)


      1 // Copyright (c) Microsoft Corporation.
      2 // Licensed under the MIT License.
      3 #pragma once
      4 #include <memory>
      5 #include <vector>
      6 
      7 namespace winrt::Microsoft::Management::Configuration
      8 {
      9     struct ConfigurationProcessor;
     10     struct ConfigurationSet;
     11 }
     12 
     13 namespace AppInstaller::CLI::Execution
     14 {
     15     namespace details
     16     {
     17         struct ConfigurationContextData;
     18     }
     19 
     20     struct ConfigurationContext
     21     {
     22         using ConfigurationSet = winrt::Microsoft::Management::Configuration::ConfigurationSet;
     23 
     24         ConfigurationContext();
     25         ~ConfigurationContext();
     26 
     27         ConfigurationContext(ConfigurationContext&) = delete;
     28         ConfigurationContext& operator=(ConfigurationContext&) = delete;
     29 
     30         ConfigurationContext(ConfigurationContext&&);
     31         ConfigurationContext& operator=(ConfigurationContext&&);
     32 
     33         winrt::Microsoft::Management::Configuration::ConfigurationProcessor& Processor();
     34         const winrt::Microsoft::Management::Configuration::ConfigurationProcessor& Processor() const;
     35         void Processor(const winrt::Microsoft::Management::Configuration::ConfigurationProcessor& value);
     36         void Processor(winrt::Microsoft::Management::Configuration::ConfigurationProcessor&& value);
     37 
     38         ConfigurationSet& Set();
     39         const ConfigurationSet& Set() const;
     40         void Set(const ConfigurationSet& value);
     41         void Set(ConfigurationSet&& value);
     42 
     43         std::vector<ConfigurationSet>& History();
     44         const std::vector<ConfigurationSet>& History() const;
     45         void History(const winrt::Windows::Foundation::Collections::IVector<ConfigurationSet>& value);
     46 
     47     private:
     48         std::unique_ptr<details::ConfigurationContextData> m_data;
     49     };
     50 }