diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index c94d328c43..5dfb30b80d 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs @@ -371,7 +371,7 @@ namespace OpenSim /// Additional arguments passed to the command public void RunCmd(string command, string[] cmdparams) { - if ((m_consoleRegion == null) || (command == "exit-region") || (command == "change-region")) + if ((m_consoleRegion == null) ||(command == "change-region")) { switch (command) { @@ -499,14 +499,29 @@ namespace OpenSim case "change-region": if (cmdparams.Length > 0) { - string name = this.CombineParams(cmdparams, 0); - Console.WriteLine("Searching for Region: '" + name + "'"); - foreach (Scene scene in m_localScenes) + if ((cmdparams[0].ToLower() == "root") || (cmdparams[0].ToLower() == "..")) { - if (scene.RegionInfo.RegionName.ToLower() == name.ToLower()) + if (m_consoleRegion != null) { - m_consoleRegion = scene; - MainLog.Instance.Verbose("Setting current region: " + m_consoleRegion.RegionInfo.RegionName); + m_consoleRegion = null; + MainLog.Instance.Verbose("Now at Root level"); + } + else + { + MainLog.Instance.Verbose("Already at Root level"); + } + } + else + { + string name = this.CombineParams(cmdparams, 0); + Console.WriteLine("Searching for Region: '" + name + "'"); + foreach (Scene scene in m_localScenes) + { + if (scene.RegionInfo.RegionName.ToLower() == name.ToLower()) + { + m_consoleRegion = scene; + MainLog.Instance.Verbose("Setting current region: " + m_consoleRegion.RegionInfo.RegionName); + } } } } @@ -523,18 +538,6 @@ namespace OpenSim } break; - case "exit-region": - if (m_consoleRegion != null) - { - m_consoleRegion = null; - MainLog.Instance.Verbose("Exiting region, Now at Root level"); - } - else - { - MainLog.Instance.Verbose("No region is set. Already at Root level"); - } - break; - default: m_log.Error("Unknown command"); break; diff --git a/OpenSim/Region/Environment/Interfaces/IHttpRequests.cs b/OpenSim/Region/Environment/Interfaces/IHttpRequests.cs new file mode 100644 index 0000000000..2294631db4 --- /dev/null +++ b/OpenSim/Region/Environment/Interfaces/IHttpRequests.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Text; +using libsecondlife; + +namespace OpenSim.Region.Environment.Interfaces +{ + public interface IHttpRequests + { + LLUUID MakeHttpRequest(string url, string type, string body); + } +} diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index f8d17b43c9..dca4222216 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -93,6 +93,7 @@ namespace OpenSim.Region.Environment.Scenes // this most likely shouldn't be handled as a API method like this, but doing it for testing purposes public ModuleAPIMethod2 AddXferFile = null; + private IHttpRequests m_httpRequestModule = null; private ISimChat m_simChatModule = null; #region Properties @@ -196,6 +197,7 @@ namespace OpenSim.Region.Environment.Scenes public void SetModuleInterfaces() { m_simChatModule = this.RequestModuleInterface(); + m_httpRequestModule = this.RequestModuleInterface(); //should change so it uses the module interface functions AddXferFile = (ModuleAPIMethod2)this.RequestAPIMethod("API_AddXferFile"); @@ -1318,6 +1320,15 @@ namespace OpenSim.Region.Environment.Scenes } } + public LLUUID MakeHttpRequest(string url, string type, string body) + { + if (m_httpRequestModule != null) + { + return m_httpRequestModule.MakeHttpRequest(url, type, body); + } + return LLUUID.Zero; + } + #region Script Engine private List ScriptEngines = new List(); public void AddScriptEngine(OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface ScriptEngine, LogBase m_logger)