예제 #1
0
        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);
        }
예제 #2
0
        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);
        }