|
|
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
-
- namespace IPA.Loader
- {
- /// <summary>
- /// Indicates that a plugin cannot be disabled at runtime. Generally not considered an error, however.
- /// </summary>
- [Serializable]
- public class CannotRuntimeDisableException : Exception
- {
- /// <summary>
- /// The plugin that cannot be disabled at runtime.
- /// </summary>
- public PluginMetadata Plugin { get; }
- /// <summary>
- /// Creates an exception for the given plugin metadata.
- /// </summary>
- /// <param name="plugin">the plugin that cannot be disabled</param>
- public CannotRuntimeDisableException(PluginMetadata plugin) : base($"Cannot runtime disable plugin \"{plugin.Name}\" ({plugin.Id})")
- => Plugin = plugin;
- /// <summary>
- /// Creats an exception with the given plugin metadata and message information.
- /// </summary>
- /// <param name="plugin">the plugin that cannot be disabled</param>
- /// <param name="message">the message to associate with it</param>
- public CannotRuntimeDisableException(PluginMetadata plugin, string message) : base($"{message} \"{plugin.Name}\" ({plugin.Id})")
- => Plugin = plugin;
-
- /// <summary>
- /// Creates an exception from a serialization context. Not currently implemented.
- /// </summary>
- /// <param name="serializationInfo"></param>
- /// <param name="streamingContext"></param>
- /// <exception cref="NotImplementedException"></exception>
- protected CannotRuntimeDisableException(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext)
- {
- throw new NotImplementedException();
- }
- }
- }
|