// Copyright Epic Games, Inc. All Rights Reserved.
using System;
namespace UnrealBuildTool
{
///
/// Marks a field as being serializable from a config file
///
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = true)]
sealed class XmlConfigFileAttribute : Attribute
{
///
/// The category for this config value. Optional; defaults to the declaring type name.
///
public string? Category { get; set; } = null;
///
/// Name of the key to read. Optional; defaults to the field name.
///
public string? Name { get; set; } = null;
///
/// Use this field to indicate that the XML attribute has been deprecated, and that a warning should
/// be shown to the user if it is used.
/// A deprecated field should also be marked with the [Obsolete] attribute.
///
public bool Deprecated { get; set; } = false;
///
/// If the attribute has been deprecated because it has been renamed, this field can be used to apply the
/// value used for this field to another.
///
public string? NewAttributeName { get; set; } = null;
}
}