namespace Nop.Services.Plugins; /// /// Interface denoting plug-in attributes that are displayed throughout /// the editing interface. /// public partial interface IPlugin { /// /// Gets a configuration page URL /// string GetConfigurationPageUrl(); /// /// Gets or sets the plugin descriptor /// PluginDescriptor PluginDescriptor { get; set; } /// /// Install plugin /// /// A task that represents the asynchronous operation Task InstallAsync(); /// /// Uninstall plugin /// /// A task that represents the asynchronous operation Task UninstallAsync(); /// /// Update plugin /// /// Current version of plugin /// New version of plugin /// A task that represents the asynchronous operation Task UpdateAsync(string currentVersion, string targetVersion); /// /// Prepare plugin to the uninstallation /// /// A task that represents the asynchronous operation Task PreparePluginToUninstallAsync(); }