// Copyright Epic Games, Inc. All Rights Reserved.
using HordeServer.Acls;
using Microsoft.Extensions.Logging;
namespace HordeServer.Plugins
{
///
/// Interface for plugin extensions to the global config object
///
public interface IPluginConfig
{
///
/// Called to fixup a plugin's configuration after deserialization
///
/// Options for configuring the plugin
void PostLoad(PluginConfigOptions configOptions);
}
///
/// Options passed to
///
public record class PluginConfigOptions(ConfigVersion Version, IEnumerable Plugins, AclConfig ParentAcl, ILogger? Logger = null);
///
/// Empty implementation of
///
public sealed class EmptyPluginConfig : IPluginConfig
{
///
public void PostLoad(PluginConfigOptions configOptions)
{ }
}
}