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);
     }
 }
 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);
     }
 }
Пример #3
0
 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;
 }
Пример #4
0
 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);
             }
         }
     }
 }
Пример #5
0
        /// <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);
                    }
            }
        }
Пример #6
0
        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);
            }
        }
Пример #7
0
 /// <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());
 }
Пример #8
0
 /// <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());
 }
Пример #9
0
        /// <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);
 }
Пример #11
0
 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);
             }
         }
     }
 }
Пример #12
0
        /// <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;
 }
Пример #15
0
 public DelegateController(IPluginCatalog pluginCatalog, IServiceProvider serviceProvider)
 {
     _pluginCatalog = pluginCatalog;
     _sp            = serviceProvider;
 }