using System.Collections.Generic;

namespace StellaOps.Plugin.Hosting;

public sealed class PluginHostResult
{
    internal PluginHostResult(
        string pluginDirectory,
        IReadOnlyList<string> searchPatterns,
        IReadOnlyList<PluginAssembly> plugins,
        IReadOnlyList<string> missingOrderedPlugins)
    {
        PluginDirectory = pluginDirectory;
        SearchPatterns = searchPatterns;
        Plugins = plugins;
        MissingOrderedPlugins = missingOrderedPlugins;
    }

    public string PluginDirectory { get; }

    public IReadOnlyList<string> SearchPatterns { get; }

    public IReadOnlyList<PluginAssembly> Plugins { get; }

    public IReadOnlyList<string> MissingOrderedPlugins { get; }
}