OpenSim.OpenSim.HandleConfig C# (CSharp) Method

HandleConfig() private method

Change and load configuration file data.
private HandleConfig ( string module, string cmd ) : void
module string
cmd string
return void
        private void HandleConfig(string module, string[] cmd)
        {
            List<string> args = new List<string>(cmd);
            args.RemoveAt(0);
            string[] cmdparams = args.ToArray();
            string n = "CONFIG";

            if (cmdparams.Length > 0)
            {
                switch (cmdparams[0].ToLower())
                {
                    case "set":
                        if (cmdparams.Length < 4)
                        {
                            MainConsole.Instance.Output(String.Format("SYNTAX: {0} SET SECTION KEY VALUE",n));
                            MainConsole.Instance.Output(String.Format("EXAMPLE: {0} SET ScriptEngine.DotNetEngine NumberOfScriptThreads 5",n));
                        }
                        else
                        {
                            IConfig c;
                            IConfigSource source = new IniConfigSource();
                            c = source.AddConfig(cmdparams[1]);
                            if (c != null)
                            {
                                string _value = String.Join(" ", cmdparams, 3, cmdparams.Length - 3);
                                c.Set(cmdparams[2], _value);
                                m_config.Source.Merge(source);

                                MainConsole.Instance.Output(String.Format("{0} {0} {1} {2} {3}",n,cmdparams[1],cmdparams[2],_value));
                            }
                        }
                        break;

                    case "get":
                        if (cmdparams.Length < 3)
                        {
                            MainConsole.Instance.Output(String.Format("SYNTAX: {0} GET SECTION KEY",n));
                            MainConsole.Instance.Output(String.Format("EXAMPLE: {0} GET ScriptEngine.DotNetEngine NumberOfScriptThreads",n));
                        }
                        else
                        {
                            IConfig c = m_config.Source.Configs[cmdparams[1]];
                            if (c == null)
                            {
                                MainConsole.Instance.Output(String.Format("Section \"{0}\" does not exist.",cmdparams[1]));
                                break;
                            }
                            else
                            {
                                MainConsole.Instance.Output(String.Format("{0} GET {1} {2} : {3}",n,cmdparams[1],cmdparams[2],
                                                     c.GetString(cmdparams[2])));
                            }
                        }

                        break;

                    case "save":
                        if (cmdparams.Length < 2)
                        {
                            MainConsole.Instance.Output("SYNTAX: " + n + " SAVE FILE");
                            return;
                        }

                        if (Application.iniFilePath == cmdparams[1])
                        {
                            MainConsole.Instance.Output("FILE can not be " + Application.iniFilePath);
                            return;
                        }

                        MainConsole.Instance.Output("Saving configuration file: " + cmdparams[1]);
                        m_config.Save(cmdparams[1]);
                        break;
                }
            }
        }