Exemple #1
0
        /// <summary>
        /// Constructor. Mostly likely it will be called from DI framework.
        /// </summary>
        /// <param name="logger">logger where information must be printed</param>
        /// <param name="configuration"></param>
        /// <param name="serviceProvider">This service provider will be used to find services required by service plygins</param>
        /// <param name="pluginsFinder">Plugins finder to use to find available plugins</param>
        /// <param name="order">Comparision object used to sort plugin list</param>
        public PluginsManager(ILogger <PluginsManager <T> > logger, IConfiguration configuration, IServiceProvider serviceProvider,
                              IPluginsFinder pluginsFinder, Comparison <T> order = null)
        {
            this.logger          = logger;
            this.serviceProvider = serviceProvider;
            this.configuration   = configuration;
            this.pluginsFinder   = pluginsFinder;


            plugins = CreatePlugins();
            Configure(order);

            Plugins = new ReadOnlyCollection <T>(plugins);
        }
Exemple #2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="configuration"></param>
 /// <param name="logger"></param>
 /// <param name="serviceProvider"></param>
 public PluginsManager(ILogger <PluginsManager> logger, IConfiguration configuration, IServiceProvider serviceProvider,
                       IPluginsFinder pluginsFinder)
     : base(logger, configuration, serviceProvider, pluginsFinder)
 {
 }