// 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) { } } }