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); } } }
/// <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); } }