protected static ConfigurationItem GetConfigurationItemFromXmlNode(XmlNode setting) { ConfigurationItem ci = new ConfigurationItem(); ci.Name = setting.Attributes["name"].Value; if (!setting.HasChildNodes && setting.Attributes["value"] != null) // value setting ci.Value = setting.Attributes["value"].Value; if (setting.Attributes["type"] != null) ci.Type = setting.Attributes["type"].Value; if (setting.Attributes["transferMode"] != null) ci.TransferMode = (ConfigurationTransferModes)Enum.Parse(typeof(ConfigurationTransferModes), setting.Attributes["transferMode"].Value); ci.XmlNode = setting; return ci; }
private void LoadData() { // load from files this._config_data = new Dictionary<string, ConfigurationItem>(); string physSpawDir = Configuration.PhysicalSpawDirectory; // load main config XmlDocument configDoc = new XmlDocument(); if (File.Exists(physSpawDir + "config\\spaw2.config")) { configDoc.Load(physSpawDir + "config\\spaw2.config"); XmlNodeList settings = configDoc.DocumentElement.SelectNodes("setting"); foreach (XmlNode setting in settings) { ConfigurationItem ci = new ConfigurationItem(); ci.Name = setting.Attributes["name"].Value; if (!setting.HasChildNodes && setting.Attributes["value"] != null) // value setting ci.Value = setting.Attributes["value"].Value; if (setting.Attributes["type"] != null) ci.Type = setting.Attributes["type"].Value; if (setting.Attributes["transferMode"] != null) ci.TransferMode = (ConfigurationTransferModes)Enum.Parse(typeof(ConfigurationTransferModes), setting.Attributes["transferMode"].Value); ci.XmlNode = setting; this._config_data.Add(ci.Name, ci); } configDoc.RemoveAll(); // load plugin configs string[] pluginDirs = Directory.GetDirectories(physSpawDir + "plugins\\"); foreach (string pluginDir in pluginDirs) { if (Directory.Exists(pluginDir + "\\config\\")) { string[] pluginConfigs = Directory.GetFiles(pluginDir + "\\config\\", "*.config"); foreach (string pluginConfig in pluginConfigs) { configDoc.Load(pluginConfig); settings = configDoc.DocumentElement.SelectNodes("setting"); foreach (XmlNode setting in settings) { ConfigurationItem ci = Configuration.GetConfigurationItemFromXmlNode(setting); this._config_data.Add(ci.Name, ci); } configDoc.RemoveAll(); } } } // load stored config if applicable if (!String.IsNullOrEmpty(HttpContext.Current.Request.QueryString["scid"])) this.RestoreSecureConfig(HttpContext.Current.Request.QueryString["scid"]); } else { // no config file throw new FileNotFoundException("Main SPAW configuration file not found.", physSpawDir + "config/spaw2.config"); } }
public ToolbarDropdown(string module, string name, Agents agent, ConfigurationItem data, string on_enabled_check, string on_status_check, string on_change) : base(module, name, agent) { if (data != null && !data.IsValueItem) { this.Data = new ListItemCollection(); foreach(XmlNode item in data.XmlNode.ChildNodes) this.Data.Add(new ListItem(item.Attributes["value"].Value, item.Attributes["name"].Value)); } this.OnEnabledCheck = on_enabled_check; this.OnStatusCheck = on_status_check; this.OnChange = on_change; }