From df58154781c6625f561c5a4a5aa49c3afb43196f Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Mon, 17 Sep 2007 07:31:15 +0000
Subject: * Moved some commands from Scene into SceneManager so they could be
 used with 'root' * Removed some duplicated commands

---
 OpenSim/Region/Application/OpenSimMain.cs         | 273 +++++++++++-----------
 OpenSim/Region/Environment/Scenes/Scene.cs        |  78 +------
 OpenSim/Region/Environment/Scenes/SceneManager.cs |  29 ++-
 3 files changed, 163 insertions(+), 217 deletions(-)

diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs
index fa37bf1..92e3025 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -376,162 +376,155 @@ namespace OpenSim
         {
             string result = "";
 
-            if ((m_consoleRegion == null) || (command == "change-region") || (command == "shutdown"))
+            switch (command)
             {
-                switch (command)
-                {
-                    case "debug":
-                        if (cmdparams.Length > 0)
-                        {
-                            Debug(cmdparams);
-                        }
-                        break;
-
-                    case "help":
-                        m_log.Error("alert - send alert to a designated user or all users.");
-                        m_log.Error("  alert [First] [Last] [Message] - send an alert to a user. Case sensitive.");
-                        m_log.Error("  alert general [Message] - send an alert to all users.");
-                        m_log.Error("backup - trigger a simulator backup");
-                        m_log.Error("debug - debugging commands");
-                        m_log.Error("  packet 0..255 - print incoming/outgoing packets (0=off)");
-                        m_log.Error("load-xml [filename] - load prims from XML");
-                        m_log.Error("save-xml [filename] - save prims to XML");
-                        m_log.Error("script - manually trigger scripts? or script commands?");
-                        m_log.Error("show uptime - show simulator startup and uptime.");
-                        m_log.Error("show users - show info about connected users.");
-                        m_log.Error("shutdown - disconnect all clients and shutdown.");
-                        m_log.Error("terrain help - show help for terrain commands.");
-                        m_log.Error("quit - equivalent to shutdown.");
-                        break;
-
-                    case "show":
-                        if (cmdparams.Length > 0)
-                        {
-                            Show(cmdparams[0]);
-                        }
-                        break;
+                case "set-time":
+                    m_localScenes.SetTimePhase(Convert.ToInt32(cmdparams[0]));
+                    break;
 
-                    case "save-xml":
-                        if (cmdparams.Length > 0)
-                        {
-                            m_localScenes.SavePrimsToXml(cmdparams[0]);
-                        }
-                        else
-                        {
-                            m_localScenes.SavePrimsToXml(DEFAULT_PRIM_BACKUP_FILENAME);
-                        }
-                        break;
+                case "force-update":
+                    Console.WriteLine("Updating all clients");
+                    m_localScenes.ForceClientUpdate();
+                    break;
 
-                    case "load-xml":
-                        if (cmdparams.Length > 0)
-                        {
-                            m_localScenes.LoadPrimsFromXml(cmdparams[0]);
-                        }
-                        else
-                        {
-                            m_localScenes.LoadPrimsFromXml(DEFAULT_PRIM_BACKUP_FILENAME);
-                        }
-                        break;
 
-                    case "terrain":
-                        if (!m_localScenes.RunTerrainCmd(cmdparams, ref result))
-                        {
-                            m_log.Error(result);
-                        }
-                        break;
-
-                    // terrain-sim now obsolete: do change-region first, then terrain as usual
-                    //case "terrain-sim":
-                    //    foreach (Scene scene in m_localScenes)
-                    //    {
-                    //        if (scene.RegionInfo.RegionName.ToLower() == cmdparams[0].ToLower())
-                    //        {
-                    //            string[] tmpCmdparams = new string[cmdparams.Length - 1];
-                    //            cmdparams.CopyTo(tmpCmdparams, 1);
-
-                    //            if (!scene.Terrain.RunTerrainCmd(tmpCmdparams, ref result, scene.RegionInfo.RegionName))
-                    //            {
-                    //                m_log.Error(result);
-                    //            }
-                    //        }
-                    //    }
-                    //    break;
-
-                    case "script":
-                        m_localScenes.SendCommandToScripts(cmdparams);
-                        break;
-
-                    case "command-script":
-                        if (cmdparams.Length > 0)
-                        {
-                            RunCommandScript(cmdparams[0]);
-                        }
-                        break;
+                case "edit-scale":
+                    if (cmdparams.Length == 4)
+                    {
+                        m_localScenes.HandleEditCommand(cmdparams);
+                    }
+                    break;
 
-                    case "permissions":
-                        // Treats each user as a super-admin when disabled
-                        bool permissions = Convert.ToBoolean(cmdparams[0]);
+                case "debug":
+                    if (cmdparams.Length > 0)
+                    {
+                        Debug(cmdparams);
+                    }
+                    break;
 
-                        m_localScenes.BypassPermissions(!permissions);
+                case "help":
+                    m_log.Error("alert - send alert to a designated user or all users.");
+                    m_log.Error("  alert [First] [Last] [Message] - send an alert to a user. Case sensitive.");
+                    m_log.Error("  alert general [Message] - send an alert to all users.");
+                    m_log.Error("backup - trigger a simulator backup");
+                    m_log.Error("debug - debugging commands");
+                    m_log.Error("  packet 0..255 - print incoming/outgoing packets (0=off)");
+                    m_log.Error("load-xml [filename] - load prims from XML");
+                    m_log.Error("save-xml [filename] - save prims to XML");
+                    m_log.Error("script - manually trigger scripts? or script commands?");
+                    m_log.Error("show uptime - show simulator startup and uptime.");
+                    m_log.Error("show users - show info about connected users.");
+                    m_log.Error("shutdown - disconnect all clients and shutdown.");
+                    m_log.Error("terrain help - show help for terrain commands.");
+                    m_log.Error("quit - equivalent to shutdown.");
+                    break;
 
-                        break;
+                case "show":
+                    if (cmdparams.Length > 0)
+                    {
+                        Show(cmdparams[0]);
+                    }
+                    break;
 
-                    case "backup":
-                        m_localScenes.Backup();
-                        break;
+                case "save-xml":
+                    if (cmdparams.Length > 0)
+                    {
+                        m_localScenes.SavePrimsToXml(cmdparams[0]);
+                    }
+                    else
+                    {
+                        m_localScenes.SavePrimsToXml(DEFAULT_PRIM_BACKUP_FILENAME);
+                    }
+                    break;
 
-                    case "alert":
-                        m_localScenes.HandleAlertCommand(cmdparams);
-                        break;
+                case "load-xml":
+                    if (cmdparams.Length > 0)
+                    {
+                        m_localScenes.LoadPrimsFromXml(cmdparams[0]);
+                    }
+                    else
+                    {
+                        m_localScenes.LoadPrimsFromXml(DEFAULT_PRIM_BACKUP_FILENAME);
+                    }
+                    break;
 
-                    case "create":
-                        if (CreateAccount != null)
-                        {
-                            CreateAccount(cmdparams);
-                        }
-                        break;
+                case "terrain":
+                    if (!m_localScenes.RunTerrainCmd(cmdparams, ref result))
+                    {
+                        m_log.Error(result);
+                    }
+                    break;
 
-                    case "quit":
-                    case "shutdown":
-                        Shutdown();
-                        break;
+                case "script":
+                    m_localScenes.SendCommandToScripts(cmdparams);
+                    break;
 
-                    case "change-region":
-                        if (cmdparams.Length > 0)
-                        {
-                            string regionName = this.CombineParams(cmdparams, 0);
-
-                            if( m_localScenes.TrySetCurrentRegion( regionName ) )
-                            {
-                                
-                            }
-                            else
-                            {
-                                MainLog.Instance.Error("Couldn't set current region to: " + regionName);
-                            }
-                        }
+                case "command-script":
+                    if (cmdparams.Length > 0)
+                    {
+                        RunCommandScript(cmdparams[0]);
+                    }
+                    break;
+
+                case "permissions":
+                    // Treats each user as a super-admin when disabled
+                    bool permissions = Convert.ToBoolean(cmdparams[0]);
+
+                    m_localScenes.BypassPermissions(!permissions);
+
+                    break;
+
+                case "backup":
+                    m_localScenes.Backup();
+                    break;
+
+                case "alert":
+                    m_localScenes.HandleAlertCommand(cmdparams);
+                    break;
+
+                case "create":
+                    if (CreateAccount != null)
+                    {
+                        CreateAccount(cmdparams);
+                    }
+                    break;
+
+                case "quit":
+                case "shutdown":
+                    Shutdown();
+                    break;
 
-                        if (m_localScenes.CurrentScene == null)
+                case "change-region":
+                    if (cmdparams.Length > 0)
+                    {
+                        string regionName = this.CombineParams(cmdparams, 0);
+
+                        if (m_localScenes.TrySetCurrentRegion(regionName))
                         {
-                            MainLog.Instance.Verbose("Currently at Root level. To change region please use 'change-region <regioname>'");
+
                         }
                         else
                         {
-                            MainLog.Instance.Verbose("Current Region: " + m_localScenes.CurrentScene.RegionInfo.RegionName + ". To change region please use 'change-region <regioname>'");
+                            MainLog.Instance.Error("Couldn't set current region to: " + regionName);
                         }
+                    }
 
-                        break;
+                    if (m_localScenes.CurrentScene == null)
+                    {
+                        MainLog.Instance.Verbose("Currently at Root level. To change region please use 'change-region <regioname>'");
+                    }
+                    else
+                    {
+                        MainLog.Instance.Verbose("Current Region: " + m_localScenes.CurrentScene.RegionInfo.RegionName + ". To change region please use 'change-region <regioname>'");
+                    }
 
-                    default:
-                        m_log.Error("Unknown command");
-                        break;
-                }
-            }
-            else
-            {
-                //let the scene/region handle the command directly.
-                m_consoleRegion.ProcessConsoleCmd(command, cmdparams);
+                    break;
+
+                default:
+                    m_log.Error("Unknown command");
+                    break;
             }
+
         }
 
         public void Debug(string[] args)
@@ -579,12 +572,12 @@ namespace OpenSim
 
                     List<ScenePresence> avatars = m_localScenes.GetAvatars();
 
-                    foreach( ScenePresence avatar in avatars )
+                    foreach (ScenePresence avatar in avatars)
                     {
-                        RegionInfo regionInfo = m_localScenes.GetRegionInfo( avatar.RegionHandle );
+                        RegionInfo regionInfo = m_localScenes.GetRegionInfo(avatar.RegionHandle);
                         string regionName;
-                        
-                        if( regionInfo == null  )
+
+                        if (regionInfo == null)
                         {
                             regionName = "Unresolvable";
                         }
@@ -601,7 +594,7 @@ namespace OpenSim
                                           avatar.ControllingClient.AgentId,
                                           "Unknown",
                                           "Unknown",
-                                          regionName ));
+                                          regionName));
                     }
 
                     break;
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index f02160a..f69aabf 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -1246,7 +1246,7 @@ namespace OpenSim.Region.Environment.Scenes
         }
         #endregion
 
-        private void forceClientUpdate()
+        public void ForceClientUpdate()
         {
             foreach (EntityBase ent in this.Entities.Values)
             {
@@ -1256,81 +1256,7 @@ namespace OpenSim.Region.Environment.Scenes
                 }
             }
         }
-
-        public void ProcessConsoleCmd(string command, string[] cmdparams)
-        {
-            switch (command)
-            {
-                case "help":
-                    MainLog.Instance.Error("alert - send alert to a designated user or all users.");
-                    MainLog.Instance.Error("  alert [First] [Last] [Message] - send an alert to a user. Case sensitive.");
-                    MainLog.Instance.Error("  alert general [Message] - send an alert to all users.");
-                    MainLog.Instance.Error("backup - trigger a region backup");
-                    MainLog.Instance.Error("load-xml [filename] - load prims from a XML file into current region");
-                    MainLog.Instance.Error("save-xml [filename] - save prims from current region to a XML file");
-                    MainLog.Instance.Error("show users - show info about connected users in the current region.");
-                    MainLog.Instance.Error("shutdown - disconnect all clients and shutdown.");
-                    break;
-
-                case "show":
-                    if (cmdparams.Length > 0)
-                    {
-                        Show(cmdparams[0]);
-                    }
-                    break;
-
-                case "save-xml":
-                    if (cmdparams.Length > 0)
-                    {
-                        SavePrimsToXml(cmdparams[0]);
-                    }
-                    else
-                    {
-                        SavePrimsToXml("test.xml");
-                    }
-                    break;
-
-                case "load-xml":
-                    if (cmdparams.Length > 0)
-                    {
-                        LoadPrimsFromXml(cmdparams[0]);
-                    }
-                    else
-                    {
-                        LoadPrimsFromXml("test.xml");
-                    }
-                    break;
-
-                case "set-time":
-                    this.SetTimePhase(Convert.ToInt32(cmdparams[0]));
-                    break;
-
-                case "force-update":
-                    Console.WriteLine("Updating all clients");
-                    this.forceClientUpdate();
-                    break;
-
-                case "backup":
-                    Backup();
-                    break;
-
-                case "alert":
-                    HandleAlertCommand(cmdparams);
-                    break;
-
-                case "edit-scale":
-                    if (cmdparams.Length == 4)
-                    {
-                        HandleEditCommand(cmdparams);
-                    }
-                    break;
-
-                default:
-                    MainLog.Instance.Error("Unknown command: " + command);
-                    break;
-            }
-        }
-
+        
         public void HandleEditCommand(string[] cmmdparams)
         {
             Console.WriteLine("Searching for Primitive: '" + cmmdparams[0] + "'");
diff --git a/OpenSim/Region/Environment/Scenes/SceneManager.cs b/OpenSim/Region/Environment/Scenes/SceneManager.cs
index 9773407..dfac406 100644
--- a/OpenSim/Region/Environment/Scenes/SceneManager.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneManager.cs
@@ -198,7 +198,7 @@ namespace OpenSim.Region.Environment.Scenes
         {
             foreach (Scene scene in m_localScenes)
             {
-                if( scene.RegionInfo.RegionHandle == regionHandle )
+                if (scene.RegionInfo.RegionHandle == regionHandle)
                 {
                     return scene.RegionInfo;
                 }
@@ -206,5 +206,32 @@ namespace OpenSim.Region.Environment.Scenes
 
             return null;
         }
+
+        public void SetTimePhase(int timePhase)
+        {
+            ForEach(delegate(Scene scene)
+                        {
+                            scene.SetTimePhase(
+                                timePhase)
+                                ;
+                        });
+        }
+
+
+        public void ForceClientUpdate()
+        {
+            ForEach(delegate(Scene scene)
+                        {
+                            scene.ForceClientUpdate();
+                        });
+        }
+
+        public void HandleEditCommand(string[] cmdparams)
+        {
+            ForEach(delegate(Scene scene)
+                        {
+                            scene.HandleEditCommand(cmdparams);
+                        });
+        }
     }
 }
-- 
cgit v1.1