Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #4
0
 public PluginSettingDecorator(PluginSetting setting)
 {
     _inner = setting;
 }