TestConfiguration.h (10543B)
1 // Copyright (c) Microsoft Corporation. 2 // Licensed under the MIT License. 3 #pragma once 4 #include <winrt/Windows.Foundation.h> 5 #include <winrt/Windows.Foundation.Collections.h> 6 #include <winrt/Windows.Security.Cryptography.Certificates.h> 7 #include <winrt/Microsoft.Management.Configuration.h> 8 #include <functional> 9 10 namespace TestCommon 11 { 12 struct TestConfigurationSetProcessorFactory : winrt::implements<TestConfigurationSetProcessorFactory, winrt::Microsoft::Management::Configuration::IConfigurationSetProcessorFactory> 13 { 14 winrt::Microsoft::Management::Configuration::IConfigurationSetProcessor CreateSetProcessor(const winrt::Microsoft::Management::Configuration::ConfigurationSet& configurationSet); 15 16 winrt::event_token Diagnostics(const winrt::Windows::Foundation::EventHandler<winrt::Microsoft::Management::Configuration::IDiagnosticInformation>& handler); 17 void Diagnostics(const winrt::event_token& token) noexcept; 18 19 winrt::Microsoft::Management::Configuration::DiagnosticLevel MinimumLevel(); 20 void MinimumLevel(winrt::Microsoft::Management::Configuration::DiagnosticLevel value); 21 22 std::function<winrt::Microsoft::Management::Configuration::IConfigurationSetProcessor(const winrt::Microsoft::Management::Configuration::ConfigurationSet&)> CreateSetProcessorFunc; 23 24 private: 25 winrt::event<winrt::Windows::Foundation::EventHandler<winrt::Microsoft::Management::Configuration::IDiagnosticInformation>> m_diagnostics; 26 }; 27 28 struct TestConfigurationSetProcessor : winrt::implements<TestConfigurationSetProcessor, winrt::Microsoft::Management::Configuration::IConfigurationSetProcessor> 29 { 30 winrt::Microsoft::Management::Configuration::IConfigurationUnitProcessorDetails GetUnitProcessorDetails( 31 const winrt::Microsoft::Management::Configuration::ConfigurationUnit& unit, 32 winrt::Microsoft::Management::Configuration::ConfigurationUnitDetailFlags detailFlags); 33 34 std::function<winrt::Microsoft::Management::Configuration::IConfigurationUnitProcessorDetails( 35 const winrt::Microsoft::Management::Configuration::ConfigurationUnit&, 36 winrt::Microsoft::Management::Configuration::ConfigurationUnitDetailFlags)> GetUnitProcessorDetailsFunc; 37 38 winrt::Microsoft::Management::Configuration::IConfigurationUnitProcessor CreateUnitProcessor( 39 const winrt::Microsoft::Management::Configuration::ConfigurationUnit& unit); 40 41 std::function<winrt::Microsoft::Management::Configuration::IConfigurationUnitProcessor( 42 const winrt::Microsoft::Management::Configuration::ConfigurationUnit&)> CreateUnitProcessorFunc; 43 }; 44 45 struct TestConfigurationUnitProcessorDetails : winrt::implements<TestConfigurationUnitProcessorDetails, winrt::Microsoft::Management::Configuration::IConfigurationUnitProcessorDetails> 46 { 47 TestConfigurationUnitProcessorDetails(const winrt::Microsoft::Management::Configuration::ConfigurationUnit& unit); 48 49 winrt::hstring UnitTypeValue; 50 winrt::hstring UnitType() const { return UnitTypeValue; } 51 52 winrt::hstring UnitDescriptionValue; 53 winrt::hstring UnitDescription() const { return UnitDescriptionValue; } 54 55 winrt::Windows::Foundation::Uri UnitDocumentationUriValue = nullptr; 56 winrt::Windows::Foundation::Uri UnitDocumentationUri() const { return UnitDocumentationUriValue; } 57 58 winrt::Windows::Foundation::Uri UnitIconUriValue = nullptr; 59 winrt::Windows::Foundation::Uri UnitIconUri() const { return UnitIconUriValue; } 60 61 winrt::hstring ModuleNameValue; 62 winrt::hstring ModuleName() const { return ModuleNameValue; } 63 64 winrt::hstring ModuleTypeValue; 65 winrt::hstring ModuleType() const { return ModuleTypeValue; } 66 67 winrt::hstring ModuleSourceValue; 68 winrt::hstring ModuleSource() const { return ModuleSourceValue; } 69 70 winrt::hstring ModuleDescriptionValue; 71 winrt::hstring ModuleDescription() const { return ModuleDescriptionValue; } 72 73 winrt::Windows::Foundation::Uri ModuleDocumentationUriValue = nullptr; 74 winrt::Windows::Foundation::Uri ModuleDocumentationUri() const { return ModuleDocumentationUriValue; } 75 76 winrt::Windows::Foundation::Uri PublishedModuleUriValue = nullptr; 77 winrt::Windows::Foundation::Uri PublishedModuleUri() const { return PublishedModuleUriValue; } 78 79 winrt::hstring VersionValue; 80 winrt::hstring Version() const { return VersionValue; } 81 82 winrt::Windows::Foundation::DateTime PublishedDateValue; 83 winrt::Windows::Foundation::DateTime PublishedDate() const { return PublishedDateValue; } 84 85 bool IsLocalValue = false; 86 bool IsLocal() const { return IsLocalValue; } 87 88 winrt::hstring AuthorValue; 89 winrt::hstring Author() const { return AuthorValue; } 90 91 winrt::hstring PublisherValue; 92 winrt::hstring Publisher() const { return PublisherValue; } 93 94 winrt::Windows::Foundation::Collections::IVector<winrt::Windows::Foundation::IInspectable> SigningInformationValue = nullptr; 95 winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Foundation::IInspectable> SigningInformation() const { return SigningInformationValue.GetView(); } 96 97 winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Configuration::IConfigurationUnitSettingDetails> SettingsValue; 98 winrt::Windows::Foundation::Collections::IVectorView<winrt::Microsoft::Management::Configuration::IConfigurationUnitSettingDetails> Settings() const { return (SettingsValue ? SettingsValue.GetView() : nullptr); } 99 100 bool IsPublicValue = false; 101 bool IsPublic() const { return IsPublicValue; } 102 }; 103 104 struct TestConfigurationUnitProcessor : winrt::implements<TestConfigurationUnitProcessor, winrt::Microsoft::Management::Configuration::IConfigurationUnitProcessor> 105 { 106 TestConfigurationUnitProcessor( 107 const winrt::Microsoft::Management::Configuration::ConfigurationUnit& unit); 108 109 winrt::Microsoft::Management::Configuration::ConfigurationUnit UnitValue; 110 winrt::Microsoft::Management::Configuration::ConfigurationUnit Unit() { return UnitValue; } 111 112 winrt::Microsoft::Management::Configuration::ITestSettingsResult TestSettings(); 113 114 std::function<winrt::Microsoft::Management::Configuration::ITestSettingsResult()> TestSettingsFunc; 115 116 winrt::Microsoft::Management::Configuration::IGetSettingsResult GetSettings(); 117 118 std::function<winrt::Microsoft::Management::Configuration::IGetSettingsResult()> GetSettingsFunc; 119 120 winrt::Microsoft::Management::Configuration::IApplySettingsResult ApplySettings(); 121 122 std::function<winrt::Microsoft::Management::Configuration::IApplySettingsResult()> ApplySettingsFunc; 123 }; 124 125 struct TestSettingsResultInstance : winrt::implements<TestSettingsResultInstance, winrt::Microsoft::Management::Configuration::ITestSettingsResult> 126 { 127 TestSettingsResultInstance(const winrt::Microsoft::Management::Configuration::ConfigurationUnit& unit) : m_unit(unit) {} 128 129 winrt::Microsoft::Management::Configuration::ConfigurationUnit Unit() { return m_unit; } 130 131 winrt::Microsoft::Management::Configuration::ConfigurationTestResult TestResult() { return m_testResult; } 132 void TestResult(winrt::Microsoft::Management::Configuration::ConfigurationTestResult value) { m_testResult = value; } 133 134 winrt::Microsoft::Management::Configuration::IConfigurationUnitResultInformation ResultInformation() { return m_resultInformation; } 135 void ResultInformation(winrt::Microsoft::Management::Configuration::IConfigurationUnitResultInformation value) { m_resultInformation = value; } 136 137 private: 138 winrt::Microsoft::Management::Configuration::ConfigurationUnit m_unit; 139 winrt::Microsoft::Management::Configuration::ConfigurationTestResult m_testResult = winrt::Microsoft::Management::Configuration::ConfigurationTestResult::Unknown; 140 winrt::Microsoft::Management::Configuration::IConfigurationUnitResultInformation m_resultInformation; 141 }; 142 143 struct ApplySettingsResultInstance : winrt::implements<ApplySettingsResultInstance, winrt::Microsoft::Management::Configuration::IApplySettingsResult> 144 { 145 ApplySettingsResultInstance(const winrt::Microsoft::Management::Configuration::ConfigurationUnit& unit) : m_unit(unit) {} 146 147 winrt::Microsoft::Management::Configuration::ConfigurationUnit Unit() { return m_unit; } 148 149 bool RebootRequired() { return m_rebootRequired; } 150 void RebootRequired(bool value) { m_rebootRequired = value; } 151 152 winrt::Microsoft::Management::Configuration::IConfigurationUnitResultInformation ResultInformation() { return m_resultInformation; } 153 void ResultInformation(winrt::Microsoft::Management::Configuration::IConfigurationUnitResultInformation value) { m_resultInformation = value; } 154 155 private: 156 winrt::Microsoft::Management::Configuration::ConfigurationUnit m_unit; 157 bool m_rebootRequired = false; 158 winrt::Microsoft::Management::Configuration::IConfigurationUnitResultInformation m_resultInformation; 159 }; 160 161 struct GetSettingsResultInstance : winrt::implements<GetSettingsResultInstance, winrt::Microsoft::Management::Configuration::IGetSettingsResult> 162 { 163 GetSettingsResultInstance(const winrt::Microsoft::Management::Configuration::ConfigurationUnit& unit) : m_unit(unit) {} 164 165 winrt::Microsoft::Management::Configuration::ConfigurationUnit Unit() { return m_unit; } 166 167 winrt::Windows::Foundation::Collections::ValueSet Settings() { return m_settings; } 168 void Settings(winrt::Windows::Foundation::Collections::ValueSet value) { m_settings = value; } 169 170 winrt::Microsoft::Management::Configuration::IConfigurationUnitResultInformation ResultInformation() { return m_resultInformation; } 171 void ResultInformation(winrt::Microsoft::Management::Configuration::IConfigurationUnitResultInformation value) { m_resultInformation = value; } 172 173 private: 174 winrt::Microsoft::Management::Configuration::ConfigurationUnit m_unit; 175 winrt::Windows::Foundation::Collections::ValueSet m_settings; 176 winrt::Microsoft::Management::Configuration::IConfigurationUnitResultInformation m_resultInformation; 177 }; 178 }