Files
UnrealEngineUWP/Engine/Source/Programs/Shared/EpicGames.Perforce/PerforceAttributes.cs
Ben Marsh 72dbf9aa4e Enable code analysis (and fix warnings) for EpicGames.Perforce.
#preflight 61b7b75dc65177a67488ca5e

[CL 18449150 by Ben Marsh in ue5-main branch]
2021-12-13 16:50:25 -05:00

66 lines
1.5 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EpicGames.Perforce
{
/// <summary>
/// Attributes for fields that should be deserialized from P4 tags
/// </summary>
[AttributeUsage(AttributeTargets.Property)]
public sealed class PerforceTagAttribute : Attribute
{
/// <summary>
/// The tag name
/// </summary>
public string Name { get; }
/// <summary>
/// Whether this tag is required for a valid record
/// </summary>
public bool Optional { get; set; }
/// <summary>
/// Constructor
/// </summary>
/// <param name="Name">Name of the tag</param>
public PerforceTagAttribute(string Name)
{
this.Name = Name;
}
}
/// <summary>
/// Specifies the name of an enum when converted into a P4 string
/// </summary>
[AttributeUsage(AttributeTargets.Field)]
public sealed class PerforceEnumAttribute : Attribute
{
/// <summary>
/// Name of the enum value
/// </summary>
public string Name { get; }
/// <summary>
/// Constructor
/// </summary>
/// <param name="Name">Name of the serialized value</param>
public PerforceEnumAttribute(string Name)
{
this.Name = Name;
}
}
/// <summary>
/// When attached to a list field, indicates that a list of structures can be included in the record
/// </summary>
[AttributeUsage(AttributeTargets.Property)]
public sealed class PerforceRecordListAttribute : Attribute
{
}
}