protected override void LoadValuesFromConfigurationXml(XmlNode node) { base.LoadValuesFromConfigurationXml(node); LogManager.GetLogger <PluginConfig>().Debug("plugin config count: {0} ", node.ChildNodes.Count); foreach (XmlNode n in node.ChildNodes) { string name = XmlUtil.GetStringAttribute(n, "name", string.Empty); if (string.IsNullOrEmpty(name)) { continue; } PluginSetting s = new PluginSetting() { Name = name, Enable = XmlUtil.GetBoolAttribute(n, "enable", true), Node = n }; foreach (XmlAttribute attr in n.Attributes) { s[attr.Name] = attr.Value; } Settings.Add(s); } }
public virtual void Init(ServiceLocator sl, ref PluginSetting setting) { if (InitializerType == null) { throw new ArgumentNullException("InitializerType"); } CreateInitializer().Init(sl, ref setting); }
private void InitPlugin(StringBuilder log, ServiceLocator sl, PluginSettings settings, List <Exception> exceptions, ref int count, ref int enable_count, IPluginDefinition plugin) { if (string.IsNullOrEmpty(plugin.Name) || initializedPlugins.Contains(plugin.Name)) { return; } try { PluginSetting setting = settings.FindByName(plugin.Name); // remove it. add it later settings.Remove(setting); setting.Title = plugin.Title; setting.Description = plugin.Description; plugin.Init(sl, ref setting); _pluginSettings[plugin.Name] = setting; settings.Add(setting); initializedPlugins.Add(plugin.Name); count++; if (setting.Enable) { enable_count++; } log.AppendFormat("{0}:{1} ", setting.Name, setting.Enable); log.AppendLine(); } catch (Exception ex) { exceptions.Add(ex); } }
public PluginSettingDecorator(PluginSetting setting) { _inner = setting; }