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