using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Toolbox.Library;
namespace PluginContracts
{
///
/// Reprenets a plguin to be loaded externally.
/// These will be loaded if a project uses this, is in the Lib/Plugins folder
/// and that the .dll has .plg in the name.
///
public interface IPlugin
{
///
/// The name of the plugin.
///
string Name { get; }
///
/// The author of the plugin.
///
string Author { get; }
///
/// The description of the plugin.
///
string Description { get; }
///
/// The version of the plugin.
///
string Version { get; }
///
/// A type array to load custom data
/// These can load to load new files
/// These can also load to load custom menu extensions
///
Type[] Types { get; } //Types hold File extensions
///
/// Method to execute when the file is loaded.
///
void Load();
///
/// Method to execute when the file is unloaded.
///
void Unload();
}
}