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 }