Webiant Logo Webiant Logo
  1. No results found.

    Try your search with a different keyword or use * as a wildcard.

IPluginService.cs

using Nop.Core.Domain.Customers;

namespace Nop.Services.Plugins;

/// 
/// Represents a plugin service
/// 
public partial interface IPluginService
{
    /// 
    /// Get plugin descriptors
    /// 
    /// The type of plugins to get
    /// Filter by load plugins mode
    /// Filter by  customer; pass null to load all records
    /// Filter by store; pass 0 to load all records
    /// Filter by plugin group; pass null to load all records
    /// Filter by plugin friendly name; pass null to load all records
    /// Filter by plugin author; pass null to load all records
    /// System name of the plugin to define dependencies
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the plugin descriptors
    /// 
    Task> GetPluginDescriptorsAsync(LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly,
        Customer customer = null, int storeId = 0, string group = null, string dependsOnSystemName = "", string friendlyName = null, string author = null) where TPlugin : class, IPlugin;

    /// 
    /// Get a plugin descriptor by the system name
    /// 
    /// The type of plugin to get
    /// Plugin system name
    /// Load plugins mode
    /// Filter by  customer; pass null to load all records
    /// Filter by store; pass 0 to load all records
    /// Filter by plugin group; pass null to load all records
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the >Plugin descriptor
    /// 
    Task GetPluginDescriptorBySystemNameAsync(string systemName,
        LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly,
        Customer customer = null, int storeId = 0, string group = null) where TPlugin : class, IPlugin;

    /// 
    /// Get plugins
    /// 
    /// The type of plugins to get
    /// Filter by load plugins mode
    /// Filter by  customer; pass null to load all records
    /// Filter by store; pass 0 to load all records
    /// Filter by plugin group; pass null to load all records
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the plugins
    /// 
    Task> GetPluginsAsync(LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly,
        Customer customer = null, int storeId = 0, string group = null) where TPlugin : class, IPlugin;

    /// 
    /// Find a plugin by the type which is located into the same assembly as a plugin
    /// 
    /// Type
    /// Plugin
    IPlugin FindPluginByTypeInAssembly(Type typeInAssembly);

    /// 
    /// Get plugin logo URL
    /// 
    /// Plugin descriptor
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the logo URL
    /// 
    Task GetPluginLogoUrlAsync(PluginDescriptor pluginDescriptor);

    /// 
    /// Prepare plugin to the installation
    /// 
    /// Plugin system name
    /// Customer
    /// Specifies whether to check plugin dependencies
    /// A task that represents the asynchronous operation
    Task PreparePluginToInstallAsync(string systemName, Customer customer = null, bool checkDependencies = true);

    /// 
    /// Prepare plugin to the uninstallation
    /// 
    /// Plugin system name
    /// A task that represents the asynchronous operation
    Task PreparePluginToUninstallAsync(string systemName);

    /// 
    /// Prepare plugin to the removing
    /// 
    /// Plugin system name
    /// A task that represents the asynchronous operation
    Task PreparePluginToDeleteAsync(string systemName);

    /// 
    /// Reset changes
    /// 
    void ResetChanges();

    /// 
    /// Clear installed plugins list
    /// 
    void ClearInstalledPluginsList();

    /// 
    /// Install plugins
    /// 
    /// A task that represents the asynchronous operation
    Task InstallPluginsAsync();

    /// 
    /// Uninstall plugins
    /// 
    /// A task that represents the asynchronous operation
    Task UninstallPluginsAsync();

    /// 
    /// Delete plugins
    /// 
    /// A task that represents the asynchronous operation
    Task DeletePluginsAsync();

    /// 
    /// Update plugins
    /// 
    /// A task that represents the asynchronous operation
    Task UpdatePluginsAsync();

    /// 
    /// Check whether application restart is required to apply changes to plugins
    /// 
    /// Result of check
    bool IsRestartRequired();

    /// 
    /// Get names of incompatible plugins
    /// 
    /// List of plugin names
    IDictionary GetIncompatiblePlugins();

    /// 
    /// Get all assembly loaded collisions
    /// 
    /// List of plugin loaded assembly info
    IList GetAssemblyCollisions();
}