winget-cli

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

ConfigurationSetParser_0_2.h (1385B)


      1 // Copyright (c) Microsoft Corporation.
      2 // Licensed under the MIT License.
      3 #pragma once
      4 #include "ConfigurationSetParser_0_1.h"
      5 
      6 #include <winget/Yaml.h>
      7 
      8 namespace winrt::Microsoft::Management::Configuration::implementation
      9 {
     10     // Parser for schema version 0.2
     11     struct ConfigurationSetParser_0_2 : public ConfigurationSetParser_0_1
     12     {
     13         ConfigurationSetParser_0_2() = default;
     14 
     15         virtual ~ConfigurationSetParser_0_2() noexcept = default;
     16 
     17         ConfigurationSetParser_0_2(const ConfigurationSetParser_0_2&) = delete;
     18         ConfigurationSetParser_0_2& operator=(const ConfigurationSetParser_0_2&) = delete;
     19         ConfigurationSetParser_0_2(ConfigurationSetParser_0_2&&) = default;
     20         ConfigurationSetParser_0_2& operator=(ConfigurationSetParser_0_2&&) = default;
     21 
     22         // Retrieves the schema version of the parser.
     23         hstring GetSchemaVersion() override;
     24 
     25         void ExtractEnvironmentFromMetadata(Windows::Foundation::Collections::ValueSet valueSet, implementation::ConfigurationEnvironment& environment) override;
     26 
     27     protected:
     28         // Sets (or resets) the document to parse.
     29         void SetDocument(AppInstaller::YAML::Node&& document) override;
     30 
     31         void ParseConfigurationUnit(ConfigurationUnit* unit, const AppInstaller::YAML::Node& unitNode, ConfigurationUnitIntent intent) override;
     32     };
     33 }