Ejemplo n.º 1
0
        public bool SetDisabledPlugins(string[] plugins)
        {
            InterceptedStringCollection sc = _settingsProvider.GetSettingsValueStringCollection("Core.DisabledPlugins", null);
            bool restart = false;

            if (plugins.Length != sc.Count)
            {
                restart = true;
            }
            else
            {
                foreach (string s in sc)
                {
                    if (!plugins.Contains(s))
                    {
                        restart = true;
                        break;
                    }
                }
            }
            if (restart)
            {
                sc.Clear();
                sc.AddRange(plugins);
                _settingsProvider.SetSettingsValueStringCollection("Core.DisabledPlugins", sc);
            }
            return(restart);
        }
Ejemplo n.º 2
0
        public void SetSettingsValueStringCollection(string name, InterceptedStringCollection value)
        {
            if (value == null)
            {
                SetSettingsValue(name, "");
            }
            else
            {
                XmlDocument doc  = new XmlDocument();
                XmlElement  root = doc.CreateElement("root");
                doc.AppendChild(root);
                foreach (var l in value)
                {
                    XmlElement el  = doc.CreateElement("entry");
                    XmlText    txt = doc.CreateTextNode(l);
                    el.AppendChild(txt);
                    root.AppendChild(el);
                }

                /*
                 * using (var stringWriter = new StringWriter())
                 * using (var xmlTextWriter = XmlWriter.Create(stringWriter))
                 * {
                 *  doc.WriteTo(xmlTextWriter);
                 *  xmlTextWriter.Flush();
                 *  SetSettingsValue(name, stringWriter.GetStringBuilder().ToString());
                 * }
                 * */
                SetSettingsValue(name, doc.OuterXml);
            }
        }
Ejemplo n.º 3
0
        public InterceptedStringCollection GetSettingsValueStringCollection(string name, InterceptedStringCollection defaultValue)
        {
            InterceptedStringCollection result = new InterceptedStringCollection(this, name);
            string xmlDoc = GetSettingsValue(name, null);

            if (!string.IsNullOrEmpty(xmlDoc))
            {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(xmlDoc);
                var root  = doc.DocumentElement;
                var lines = root.SelectNodes("entry");
                foreach (XmlNode n in lines)
                {
                    result.AddWithoutSave(n.InnerText);
                }
            }
            return(result);
        }