public static PersistantConfig Deserialize(string file) { XmlSerializer xs = new XmlSerializer(typeof(PersistantConfig)); StreamReader reader = File.OpenText(file); PersistantConfig c = (PersistantConfig)xs.Deserialize(reader); reader.Close(); foreach (var kv in c.ReplayHostKeyValues) { if (kv.Key != null && kv.Key.Length > 0 && kv.Value != null) { c.ReplayHosts.Add(kv.Key, kv.Value); } } foreach (var kv in c.ConfigSettingsValues) { if (kv.Key != null && kv.Key.Length > 0 && kv.Value != null) { c.SetConfigSetting(kv.Key, kv.Value); } } return(c); }
public static PersistantConfig Deserialize(string file) { XmlSerializer xs = new XmlSerializer(typeof(PersistantConfig)); StreamReader reader = File.OpenText(file); PersistantConfig c = (PersistantConfig)xs.Deserialize(reader); reader.Close(); StaticExports.SetConfigSetting("Disassembly_FriendlyNaming", c.ShaderViewer_FriendlyNaming ? "1" : "0"); foreach (var kv in c.ConfigSettingsValues) { if (kv.Key != null && kv.Key.Length > 0 && kv.Value != null) { c.SetConfigSetting(kv.Key, kv.Value); } } //external disassemblers foreach (var kv in c.ExternalDisassemblersValues) { if (kv.Key >= 0 && kv.Value != null) { c.SetExternalDisassemblers(kv.Key, kv.Value); } } // localhost should always be available bool foundLocalhost = false; for (int i = 0; i < c.RemoteHosts.Count; i++) { if (c.RemoteHosts[i].Hostname == "localhost") { foundLocalhost = true; break; } } if (!foundLocalhost) { RemoteHost host = new RemoteHost(); host.Hostname = "localhost"; c.RemoteHosts.Add(host); } return(c); }