namespace Nop.Services.Plugins; /// /// Represents an information about plugins /// public partial interface IPluginsInfo { /// /// Save plugins info to the file /// /// A task that represents the asynchronous operation Task SaveAsync(); /// /// Get plugins info /// /// /// The true if data are loaded, otherwise False /// void LoadPluginInfo(); /// /// Save plugins info to the file /// void Save(); /// /// Create copy from another instance of IPluginsInfo interface /// /// Plugins info void CopyFrom(IPluginsInfo pluginsInfo); /// /// Gets or sets the list of all installed plugin /// IList InstalledPlugins { get; set; } /// /// Gets or sets the list of plugin names which will be uninstalled /// IList PluginNamesToUninstall { get; set; } /// /// Gets or sets the list of plugin names which will be deleted /// IList PluginNamesToDelete { get; set; } /// /// Gets or sets the list of plugin names which will be installed /// IList<(string SystemName, Guid? CustomerGuid)> PluginNamesToInstall { get; set; } /// /// Gets or sets the list of assembly loaded collisions /// IList AssemblyLoadedCollision { get; set; } /// /// Gets or sets a collection of plugin descriptors of all deployed plugins /// IList<(PluginDescriptor pluginDescriptor, bool needToDeploy)> PluginDescriptors { get; set; } /// /// Gets or sets the list of plugin which are not compatible with the current version /// /// /// Key - the system name of plugin. /// Value - the incompatibility type. /// IDictionary IncompatiblePlugins { get; set; } }