From 981c97502a25c12473328e332bb0505f8c779d73 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Mon, 3 Dec 2007 07:06:46 +0000 Subject: * Moved XMLRPC Controller to a Application Plugin. Requires testing. --- OpenSim/Region/Application/OpenSimController.cs | 122 ------------------------ OpenSim/Region/Application/OpenSimMain.cs | 9 +- 2 files changed, 5 insertions(+), 126 deletions(-) delete mode 100644 OpenSim/Region/Application/OpenSimController.cs (limited to 'OpenSim/Region/Application') diff --git a/OpenSim/Region/Application/OpenSimController.cs b/OpenSim/Region/Application/OpenSimController.cs deleted file mode 100644 index 9fae426..0000000 --- a/OpenSim/Region/Application/OpenSimController.cs +++ /dev/null @@ -1,122 +0,0 @@ -using System; -using System.Collections; -using System.Net; -using System.Timers; -using Nwc.XmlRpc; -using OpenSim.Framework; -using OpenSim.Framework.Console; -using OpenSim.Framework.Servers; - -namespace OpenSim -{ - internal class OpenSimController - { - private OpenSimMain m_app; - private BaseHttpServer m_httpServer; - private const bool m_enablexmlrpc = true; - - public OpenSimController(OpenSimMain core, BaseHttpServer httpd) - { - m_app = core; - m_httpServer = httpd; - - if (m_enablexmlrpc) - { - m_httpServer.AddXmlRPCHandler("admin_create_region", XmlRpcCreateRegionMethod); - m_httpServer.AddXmlRPCHandler("admin_shutdown", XmlRpcShutdownMethod); - } - } - - public XmlRpcResponse XmlRpcShutdownMethod(XmlRpcRequest request) - { - MainLog.Instance.Verbose("CONTROLLER", "Recieved Shutdown Administrator Request"); - XmlRpcResponse response = new XmlRpcResponse(); - Hashtable requestData = (Hashtable) request.Params[0]; - - if ((string) requestData["shutdown"] == "delayed") - { - int timeout = (Int32)requestData["milliseconds"]; - - Hashtable responseData = new Hashtable(); - responseData["accepted"] = "true"; - response.Value = responseData; - - m_app.SceneManager.SendGeneralMessage("Region is going down in " + ((int) (timeout/1000)).ToString() + - " second(s). Please save what you are doing and log out."); - - // Perform shutdown - Timer shutdownTimer = new Timer(timeout); // Wait before firing - shutdownTimer.AutoReset = false; - shutdownTimer.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed); - shutdownTimer.Start(); - - return response; - } - else - { - Hashtable responseData = new Hashtable(); - responseData["accepted"] = "true"; - response.Value = responseData; - - m_app.SceneManager.SendGeneralMessage("Region is going down now."); - - // Perform shutdown - Timer shutdownTimer = new Timer(2000); // Wait 2 seconds before firing - shutdownTimer.AutoReset = false; - shutdownTimer.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed); - shutdownTimer.Start(); - - return response; - } - } - - private void shutdownTimer_Elapsed(object sender, ElapsedEventArgs e) - { - m_app.Shutdown(); - } - - public XmlRpcResponse XmlRpcCreateRegionMethod(XmlRpcRequest request) - { - MainLog.Instance.Verbose("CONTROLLER", "Recieved Create Region Administrator Request"); - XmlRpcResponse response = new XmlRpcResponse(); - Hashtable requestData = (Hashtable) request.Params[0]; - - RegionInfo newRegionData = new RegionInfo(); - - try - { - newRegionData.RegionID = (string)requestData["region_id"]; - newRegionData.RegionName = (string)requestData["region_name"]; - newRegionData.RegionLocX = Convert.ToUInt32((Int32)requestData["region_x"]); - newRegionData.RegionLocY = Convert.ToUInt32((Int32)requestData["region_y"]); - - // Security risk - newRegionData.DataStore = (string) requestData["datastore"]; - - newRegionData.InternalEndPoint = new IPEndPoint( - IPAddress.Parse((string) requestData["listen_ip"]), 0); - - newRegionData.InternalEndPoint.Port = (Int32)requestData["listen_port"]; - newRegionData.ExternalHostName = (string)requestData["external_address"]; - - newRegionData.MasterAvatarFirstName = (string) requestData["region_master_first"]; - newRegionData.MasterAvatarLastName = (string) requestData["region_master_last"]; - - m_app.CreateRegion(newRegionData); - - Hashtable responseData = new Hashtable(); - responseData["created"] = "true"; - response.Value = responseData; - } - catch (Exception e) - { - Hashtable responseData = new Hashtable(); - responseData["created"] = "false"; - responseData["error"] = e.ToString(); - response.Value = responseData; - } - - return response; - } - } -} diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index 51a647d..9fd5bcc 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs @@ -61,8 +61,6 @@ namespace OpenSim public bool m_gridLocalAsset; public bool m_SendChildAgentTaskData; - private OpenSimController m_controller; - protected LocalLoginService m_loginService; protected string m_storageDll; @@ -102,6 +100,11 @@ namespace OpenSim set { m_config = value; } } + public BaseHttpServer HttpServer + { + get { return m_httpServer; } + } + private ModuleLoader m_moduleLoader; public ModuleLoader ModuleLoader @@ -279,8 +282,6 @@ namespace OpenSim base.StartUp(); - m_controller = new OpenSimController(this, m_httpServer); - if (m_sandbox) { LocalInventoryService inventoryService = new LocalInventoryService(); -- cgit v1.1