private static void ApplyCatalogToRegistry(IProgressMonitor progressMonitor, IPluginCatalog pluginCatalog, IRegistry registry) { using (var subProgressMonitor = progressMonitor.CreateSubProgressMonitor(45)) { subProgressMonitor.BeginTask(Resources.UpdatePluginFolderCommand_Applying_catalog_to_registry, 100); pluginCatalog.ApplyTo(registry); } }
public Plugin(Assembly assembly, Type type, string name, Version version, IPluginCatalog source, string description = "", string productVersion = "", string tag = "") { Assembly = assembly; Type = type; Name = name; Version = version; Source = source; Description = description; ProductVersion = productVersion; Tag = tag; }
private void ReadPluginsFromXml(IPluginCatalog catalog, IProgressMonitor progressMonitor) { using (progressMonitor.BeginTask("Reading plugins from xml", pluginXmls.Count)) { foreach (var pair in pluginXmls) { using (progressMonitor.CreateSubProgressMonitor(1)) { var plugin = ReadPluginMetadataFromXml(pair.First); catalog.AddPlugin(plugin, pair.Second); } } } }
/// <inheritdoc /> public void PopulateCatalog(IPluginCatalog catalog, IProgressMonitor progressMonitor) { if (catalog == null) { throw new ArgumentNullException("catalog"); } using (progressMonitor.BeginTask("Populating catalog", 100)) { using (var subProgressMonitor = progressMonitor.CreateSubProgressMonitor(50)) LoadPlugins((p, bd, pfp) => catalog.AddPlugin(p, bd), subProgressMonitor); using (var subProgressMonitor = progressMonitor.CreateSubProgressMonitor(50)) if (pluginXmls.Count > 0) { ReadPluginsFromXml(catalog, subProgressMonitor); } } }
public Plugin(Assembly assembly, Type type, string name, Version version, IPluginCatalog source, string description = "", string productVersion = "", string tag = "", List <string> tags = null) { Assembly = assembly; Type = type; Name = name; Version = version; Source = source; Description = description; ProductVersion = productVersion; Tags = tags; if (Tags == null) { Tags = new List <string>(); } if (!string.IsNullOrWhiteSpace(tag)) { Tags.Add(tag); } }
/// <summary> /// Gets the plugins by tag. /// </summary> /// <param name="catalog">The catalog from which the plugin is retrieved.</param> /// <param name="tag">The tag.</param> /// <returns>The plugin</returns> public static List <Plugin> GetByTag(this IPluginCatalog catalog, string tag) { return(catalog.GetPlugins().Where(x => x.Tags.Contains(tag)).ToList()); }
/// <summary> /// Gets the only plugin inside the catalog. Throws if there is none or multiple. /// </summary> /// <param name="catalog">The catalog from which the plugin is retrieved.</param> /// <returns>The plugin</returns> public static Plugin Get(this IPluginCatalog catalog) { return(catalog.Single()); }
/// <summary> /// Gets the only plugin inside the catalog. Throws if there is none or multiple. /// </summary> /// <param name="catalog">The catalog from which the plugin is retrieved.</param> /// <returns>The plugin</returns> public static Plugin Single(this IPluginCatalog catalog) { var plugins = catalog.GetPlugins(); return(plugins.Single()); }
public void AddCatalog(IPluginCatalog catalog) { _catalogs.Add(catalog); }
/// <inheritdoc /> public void PopulateCatalog(IPluginCatalog catalog, IProgressMonitor progressMonitor) { if (catalog == null) throw new ArgumentNullException("catalog"); using (progressMonitor.BeginTask("Populating catalog", 100)) { using (var subProgressMonitor = progressMonitor.CreateSubProgressMonitor(50)) LoadPlugins((p, bd, pfp) => catalog.AddPlugin(p, bd), subProgressMonitor); using (var subProgressMonitor = progressMonitor.CreateSubProgressMonitor(50)) if (pluginXmls.Count > 0) ReadPluginsFromXml(catalog, subProgressMonitor); } }
public static IServiceCollection AddPluginCatalog(this IServiceCollection services, IPluginCatalog pluginCatalog) { services.TryAddEnumerable(ServiceDescriptor.Singleton(typeof(IPluginCatalog), pluginCatalog)); return(services); }
public RoslynController(IPluginCatalog pluginCatalog, IServiceProvider sp) { _pluginCatalog = pluginCatalog; _sp = sp; }
public DelegateController(IPluginCatalog pluginCatalog, IServiceProvider serviceProvider) { _pluginCatalog = pluginCatalog; _sp = serviceProvider; }