Exemple #1
0
        public IRuntimePluginLoader <T> Create <TRuntimePluginLoader, T>(params object[] dependencies)
            where TRuntimePluginLoader : class, IRuntimePluginLoader <T>
        {
            if (Singletons == null)
            {
                Singletons = new SingletonObjects();
            }
            var typeLoader         = new TypeLoader <T>(Singletons.Settings, Singletons.Logger);
            var pluginCacheFactory = new PluginCacheFactory <T>(typeLoader,
                                                                Singletons.PluginDependencyResolverFactory,
                                                                Singletons.AssemblyLoader,
                                                                Singletons.Logger);
            var pluginLoaderFactory = new PluginLoaderFactory <T>(pluginCacheFactory);
            var pluginObjectCreator = new PluginObjectCreator <T>(Singletons.Settings, new ObjectCreator <T>(), Singletons.Logger);
            IRuntimePluginLoader <T> runtimePluginLoader = (dependencies == null || !dependencies.Any())
                ? Activator.CreateInstance(typeof(TRuntimePluginLoader),
                                           Singletons.AppDomain,
                                           Singletons.Settings,
                                           pluginLoaderFactory,
                                           pluginObjectCreator,
                                           Singletons.PluginPaths,
                                           Singletons.Logger) as IRuntimePluginLoader <T>
                : Activator.CreateInstance(typeof(TRuntimePluginLoader),
                                           Singletons.AppDomain,
                                           Singletons.Settings,
                                           pluginLoaderFactory,
                                           pluginObjectCreator,
                                           Singletons.PluginPaths,
                                           Singletons.Logger,
                                           dependencies) as IRuntimePluginLoader <T>;

            return(runtimePluginLoader);
        }
Exemple #2
0
        protected virtual void LoadPlugin(string pluginPath, IRuntimePluginLoader pluginLoader, RuntimePluginEvents runtimePluginEvents,
                                          UnitTestProviderConfiguration unitTestProviderConfigration, ITraceListener traceListener)
        {
            traceListener.WriteToolOutput($"Loading plugin {pluginPath}");

            var plugin = pluginLoader.LoadPlugin(pluginPath, traceListener);
            var runtimePluginParameters = new RuntimePluginParameters();

            plugin?.Initialize(runtimePluginEvents, runtimePluginParameters, unitTestProviderConfigration);
        }
        protected virtual void LoadPlugin(PluginDescriptor pluginDescriptor, IRuntimePluginLoader pluginLoader, RuntimePluginEvents runtimePluginEvents)
        {
            var plugin = pluginLoader.LoadPlugin(pluginDescriptor);
            var runtimePluginParameters = new RuntimePluginParameters
            {
                Parameters = pluginDescriptor.Parameters
            };

            plugin.Initialize(runtimePluginEvents, runtimePluginParameters);
        }
 protected virtual IRuntimePlugin LoadPlugin(IRuntimePluginLoader pluginLoader, PluginDescriptor pluginDescriptor)
 {
     return pluginLoader.LoadPlugin(pluginDescriptor);
 }
Exemple #5
0
 private static IRuntimePlugin LoadPlugin(IRuntimePluginLoader pluginLoader, PluginDescriptor pluginDescriptor)
 {
     return(pluginLoader.LoadPlugin(pluginDescriptor));
 }
 private static IRuntimePlugin LoadPlugin(IRuntimePluginLoader pluginLoader, PluginDescriptor pluginDescriptor)
 {
     return pluginLoader.LoadPlugin(pluginDescriptor);
 }
 protected virtual void LoadPlugin(PluginDescriptor pluginDescriptor, IRuntimePluginLoader pluginLoader, RuntimePluginEvents runtimePluginEvents)
 {
     var plugin = pluginLoader.LoadPlugin(pluginDescriptor);
     var runtimePluginParameters = new RuntimePluginParameters
     {
         Parameters = pluginDescriptor.Parameters
     };
     plugin.Initialize(runtimePluginEvents, runtimePluginParameters);
 }
 protected virtual IRuntimePlugin LoadPlugin(IRuntimePluginLoader pluginLoader, PluginDescriptor pluginDescriptor)
 {
     return(pluginLoader.LoadPlugin(pluginDescriptor));
 }