private static string InitializePlugins(PluginSetup pluginSetup, PluginConfiguration pluginConfigurationData) { var inspectors = new List <PluginInspector>(); foreach (var plugin in pluginSetup.GetPlugins()) { PluginInspector pluginInspector; plugin.Configure(pluginConfigurationData, out pluginInspector); inspectors.Add(pluginInspector); } return(new PluginInspectorExtrator(inspectors).ToString()); }
internal static void Configure(string moduleName, PluginSetup pluginSetup) { var pluginConfigurationData = new PluginConfiguration( moduleName, AssemblyManager.GetApplicationAssembly(moduleName), AssemblyManager.GetDomainAssembly(moduleName), AssemblyManager.GetInfrastructureAssembly(moduleName) ); var pluginInformation = InitializePlugins(pluginSetup, pluginConfigurationData); PluginFactories[moduleName] = pluginSetup.GetPlugins(); ThreadContext.Create(moduleName); GetInstance <Logger>().LogInfo(pluginInformation, null); }
internal PluginContext(PluginSetup settings, PluginApplicationContext applicationContext) { if (settings == null) { throw new ArgumentNullException("settings"); } if (applicationContext == null) { throw new ArgumentNullException("applicationContext"); } _settings = (PluginSetup)settings.Clone(); _pluginTree = new PluginTree(this); _applicationContext = applicationContext; _settings.PropertyChanged += delegate { if (_pluginTree != null && _pluginTree.Status != PluginTreeStatus.None) { throw new InvalidOperationException(); } }; }
internal ForExpression(string moduleName) { _moduleName = moduleName; _pluginConfiguration = PluginSetup.Create(); }