using System; using Microsoft.Extensions.Logging; namespace LANCommander.SDK.Plugins; /// /// Runtime context handed to a plugin during . /// public sealed class PluginContext { /// The host the plugin is running inside (a single value, never a flags combination). public PluginHost Host { get; init; } /// The fully built host service provider (scoped per plugin during initialization). public IServiceProvider Services { get; init; } = default!; /// Absolute path to the folder the plugin was loaded from. public string PluginDirectory { get; init; } = string.Empty; /// Logger scoped to the plugin. public ILogger Logger { get; init; } = default!; }