ConfigurationUnitSettingDetails.cs (2585B)
1 // ----------------------------------------------------------------------------- 2 // <copyright file="ConfigurationUnitSettingDetails.cs" company="Microsoft Corporation"> 3 // Copyright (c) Microsoft Corporation. Licensed under the MIT License. 4 // </copyright> 5 // ----------------------------------------------------------------------------- 6 7 namespace Microsoft.Management.Configuration.Processor.Unit 8 { 9 using Microsoft.Management.Configuration; 10 11 /// <summary> 12 /// Provides information for a specific configuration unit setting. 13 /// </summary> 14 internal sealed partial class ConfigurationUnitSettingDetails : IConfigurationUnitSettingDetails 15 { 16 /// <summary> 17 /// Initializes a new instance of the <see cref="ConfigurationUnitSettingDetails"/> class. 18 /// </summary> 19 public ConfigurationUnitSettingDetails() 20 { 21 } 22 23 /// <summary> 24 /// Gets the name of the setting. 25 /// </summary> 26 required public string Identifier { get; init; } 27 28 /// <summary> 29 /// Gets the title of the setting. 30 /// </summary> 31 public string Title { get; init; } = string.Empty; 32 33 /// <summary> 34 /// Gets the description of the setting. 35 /// </summary> 36 public string Description { get; init; } = string.Empty; 37 38 /// <summary> 39 /// Gets a value indicating whether the setting is a key. This is used to determine if different settings are in conflict. 40 /// </summary> 41 public bool IsKey { get; init; } = false; 42 43 /// <summary> 44 /// Gets a value indicating whether a non-empty value for the setting is required. 45 /// </summary> 46 public bool IsRequired { get; init; } = false; 47 48 /// <summary> 49 /// Gets a value indicating whether the setting should be serialized in order to be applied on another system. 50 /// </summary> 51 public bool IsInformational { get; init; } = false; 52 53 /// <summary> 54 /// Gets the data type for the value of this setting. 55 /// </summary> 56 public Windows.Foundation.PropertyType Type { get; init; } = Windows.Foundation.PropertyType.Inspectable; 57 58 /// <summary> 59 /// Gets the semantics to be used for this setting. The goal is to enable richer conflict detection and authoring 60 /// scenarios by having a deeper understanding of this value than "String". 61 /// </summary> 62 public string Schema { get; init; } = string.Empty; 63 } 64 }