Files
Ben Marsh 637187c618 Horde: Rename the Horde.Build project to Horde.Server.
#preflight none

[CL 24688228 by Ben Marsh in ue5-main branch]
2023-03-17 09:50:40 -04:00

38 lines
1.0 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System.Threading.Tasks;
using System.Threading;
using System;
using Horde.Server.Users;
namespace Horde.Server.Configuration
{
/// <summary>
/// Accessor for a specific revision of a config file. Provides metadata about the current revision, and allows reading its data.
/// </summary>
public interface IConfigFile
{
/// <summary>
/// URI of the config file
/// </summary>
Uri Uri { get; }
/// <summary>
/// String used to identify a specific version of the config data. Used for ordinal comparisons, otherwise opaque.
/// </summary>
string Revision { get; }
/// <summary>
/// Author of this revision, if known
/// </summary>
IUser? Author { get; }
/// <summary>
/// Reads data for the config file
/// </summary>
/// <param name="cancellationToken">Cancellation token for the operation</param>
/// <returns>UTF-8 encoded data for the config file</returns>
ValueTask<ReadOnlyMemory<byte>> ReadAsync(CancellationToken cancellationToken);
}
}