39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
namespace StellaOps.Plugin.Hosting;
|
|
|
|
/// <summary>
|
|
/// Represents a failure that occurred while attempting to load a plugin.
|
|
/// </summary>
|
|
/// <param name="AssemblyPath">The path to the plugin assembly that failed to load.</param>
|
|
/// <param name="Reason">The category of failure.</param>
|
|
/// <param name="Message">A detailed message describing the failure.</param>
|
|
public sealed record PluginLoadFailure(
|
|
string AssemblyPath,
|
|
PluginLoadFailureReason Reason,
|
|
string Message);
|
|
|
|
/// <summary>
|
|
/// Categorizes the reason a plugin failed to load.
|
|
/// </summary>
|
|
public enum PluginLoadFailureReason
|
|
{
|
|
/// <summary>
|
|
/// The plugin assembly could not be loaded due to an error.
|
|
/// </summary>
|
|
LoadError,
|
|
|
|
/// <summary>
|
|
/// The plugin's signature verification failed.
|
|
/// </summary>
|
|
SignatureInvalid,
|
|
|
|
/// <summary>
|
|
/// The plugin is not compatible with the host version.
|
|
/// </summary>
|
|
IncompatibleVersion,
|
|
|
|
/// <summary>
|
|
/// The plugin does not have a required StellaPluginVersion attribute.
|
|
/// </summary>
|
|
MissingVersionAttribute
|
|
}
|