/// <summary> /// Gets plugins /// </summary> /// <typeparam name="T">The type of plugins to get.</typeparam> /// <param name="loadMode">Load plugins mode</param> /// <param name="storeId">Load records allowed only in a specified store; pass 0 to load all records</param> /// <param name="group">Filter by plugin group; pass null to load all records</param> /// <returns>Plugins</returns> public virtual IEnumerable <T> GetPlugins <T>(LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly, int storeId = 0, string group = null) where T : class, IPlugin { return(GetPluginDescriptors <T>(loadMode, storeId, group).Select(p => p.Instance <T>())); }
/// <summary> /// Get a plugin descriptor by its system name /// </summary> /// <param name="systemName">Plugin system name</param> /// <param name="loadMode">Load plugins mode</param> /// <returns>>Plugin descriptor</returns> public virtual PluginDescriptor GetPluginDescriptorBySystemName(string systemName, LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly) { return(GetPluginDescriptors(loadMode) .SingleOrDefault(p => p.SystemName.Equals(systemName, StringComparison.InvariantCultureIgnoreCase))); }
/// <summary> /// Get plugin descriptors /// </summary> /// <typeparam name="T">The type of plugin to get.</typeparam> /// <param name="loadMode">Load plugins mode</param> /// <param name="storeId">Load records allowed only in a specified store; pass 0 to load all records</param> /// <param name="group">Filter by plugin group; pass null to load all records</param> /// <returns>Plugin descriptors</returns> public virtual IEnumerable <PluginDescriptor> GetPluginDescriptors <T>(LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly, int storeId = 0, string group = null) where T : class, IPlugin { return(GetPluginDescriptors(loadMode, storeId, group) .Where(p => typeof(T).IsAssignableFrom(p.PluginType))); }
/// <summary> /// Get plugins /// </summary> /// <typeparam name="TPlugin">The type of plugins to get</typeparam> /// <param name="loadMode">Filter by load plugins mode</param> /// <param name="customer">Filter by customer; pass null to load all records</param> /// <param name="storeId">Filter by store; pass 0 to load all records</param> /// <param name="group">Filter by plugin group; pass null to load all records</param> /// <returns>Plugins</returns> public virtual IEnumerable <TPlugin> GetPlugins <TPlugin>(LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly, Customer customer = null, int storeId = 0, string group = null) where TPlugin : class, IPlugin { return(GetPluginDescriptors <TPlugin>(loadMode, customer, storeId, group) .Select(descriptor => descriptor.Instance <TPlugin>())); }
public PluginDescriptor GetPluginDescriptorBySystemName <TPlugin>(string systemName, LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly, User user = null, string group = null) where TPlugin : class, IPlugin { return(GetPluginDescriptors <TPlugin>(loadMode, user, group) .FirstOrDefault(descriptor => descriptor.SystemName.Equals(systemName, StringComparison.InvariantCultureIgnoreCase))); }
public IEnumerable <TPlugin> GetPlugins <TPlugin>(LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly, User user = null, string group = null) where TPlugin : class, IPlugin { return(GetPluginDescriptors <TPlugin>(loadMode, user, group).Select(descriptor => descriptor.Instance <TPlugin>())); }
/// <summary> /// Get a plugin descriptor by its system name /// </summary> /// <typeparam name="T">The type of plugin to get.</typeparam> /// <param name="systemName">Plugin system name</param> /// <param name="loadMode">Load plugins mode</param> /// <returns>>Plugin descriptor</returns> public virtual PluginDescriptor GetPluginDescriptorBySystemName <T>(string systemName, LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly) where T : class, IPlugin { return(GetPluginDescriptors <T>(loadMode) .SingleOrDefault(p => p.SystemName.Equals(systemName, StringComparison.OrdinalIgnoreCase))); }
public PluginDescriptor GetPluginDescriptorBySystemName(string systemName, LoadPluginsMode loadMode) { return(GetPluginDescriptors(loadMode).FirstOrDefault(x => x.SystemName.Equals(systemName, StringComparison.InvariantCultureIgnoreCase))); }
public virtual IEnumerable <T> GetPlugins <T>(LoadPluginsMode loadMode, int storeId, string group) where T : class, IPlugin { return(GetPluginDescriptors <T>(loadMode, storeId, group).Select(x => x.Instance <T>())); }
/// <summary> /// 获取对应的插件描述 /// </summary> /// <param name="loadMode"></param> /// <param name="storeId"></param> /// <param name="group"></param> /// <returns></returns> public virtual IEnumerable <PluginDescriptor> GetPluginDescriptors(LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly, int storeId = 0, string group = null) { EnsurePluginsAreLoaded(); return(_plugins.Where(x => x.Installed == CheckLoadMode(x, loadMode) && AuthenticateStore(x, storeId) && CheckGroup(x, group))); }
public IEnumerable <PluginDescriptor> GetPluginDescriptors(LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly, int storeId = 0, string group = null) { //ensure plugins are loaded EnsurePluginsAreLoaded(); return(_plugins.Where(p => CheckLoadMode(p, loadMode) && AuthenticateStore(p, storeId) && CheckGroup(p, group))); }