From 079469b3f5e6b8a8b20115312d0bfd89841b3338 Mon Sep 17 00:00:00 2001 From: MW Date: Wed, 5 Nov 2008 17:45:56 +0000 Subject: more startup/initialisation refactoring --- OpenSim/Region/Application/OpenSim.cs | 4 +- OpenSim/Region/Application/OpenSimBackground.cs | 2 +- OpenSim/Region/Application/OpenSimBase.cs | 97 +++++++++++++++---------- 3 files changed, 60 insertions(+), 43 deletions(-) (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index d2af16f..ded7508 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -90,7 +90,7 @@ namespace OpenSim m_log.Info("===================================================================="); m_log.Info("========================= STARTING OPENSIM ========================="); m_log.Info("===================================================================="); - m_log.InfoFormat("[OPENSIM MAIN]: Running in {0} mode", (ConfigurationSettings.Sandbox ? "sandbox" : "grid")); + m_log.InfoFormat("[OPENSIM MAIN]: Running in {0} mode", (ConfigurationSettings.Standalone ? "sandbox" : "grid")); m_console = new ConsoleBase("Region", this); MainConsole.Instance = m_console; @@ -642,7 +642,7 @@ namespace OpenSim ShowPluginCommandsHelp(CombineParams(helpArgs, 0), m_console); - if (ConfigurationSettings.Sandbox) + if (ConfigurationSettings.Standalone) { m_console.Notice(""); m_console.Notice("create user - adds a new user."); diff --git a/OpenSim/Region/Application/OpenSimBackground.cs b/OpenSim/Region/Application/OpenSimBackground.cs index ed5680b..4a2c161 100644 --- a/OpenSim/Region/Application/OpenSimBackground.cs +++ b/OpenSim/Region/Application/OpenSimBackground.cs @@ -56,7 +56,7 @@ namespace OpenSim m_log.Info("===================================================================="); m_log.Info("========================= STARTING OPENSIM ========================="); m_log.Info("===================================================================="); - m_log.InfoFormat("[OPENSIM MAIN]: Running in background {0} mode", ConfigurationSettings.Sandbox ? "sandbox" : "grid"); + m_log.InfoFormat("[OPENSIM MAIN]: Running in background {0} mode", ConfigurationSettings.Standalone ? "sandbox" : "grid"); base.Startup(); diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 39991dc..a3b557d 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -271,7 +271,7 @@ namespace OpenSim if (startupConfig != null) { - m_configSettings.Sandbox = !startupConfig.GetBoolean("gridmode"); + m_configSettings.Standalone = !startupConfig.GetBoolean("gridmode"); m_configSettings.PhysicsEngine = startupConfig.GetString("physics"); m_configSettings.MeshEngineName = startupConfig.GetString("meshing"); @@ -333,44 +333,10 @@ namespace OpenSim LibraryRootFolder libraryRootFolder = new LibraryRootFolder(); - // StandAlone mode? m_sandbox is determined by !startupConfig.GetBoolean("gridmode", false) - if (m_configSettings.Sandbox) + // StandAlone mode? is determined by !startupConfig.GetBoolean("gridmode", false) + if (m_configSettings.Standalone) { - LocalInventoryService inventoryService = new LocalInventoryService(); - inventoryService.AddPlugin(m_configSettings.StandaloneInventoryPlugin, m_configSettings.StandaloneInventorySource); - - LocalUserServices userService = - new LocalUserServices(m_networkServersInfo, m_networkServersInfo.DefaultHomeLocX, - m_networkServersInfo.DefaultHomeLocY, inventoryService); - userService.AddPlugin(m_configSettings.StandaloneUserPlugin, m_configSettings.StandaloneUserSource); - - LocalBackEndServices backendService = new LocalBackEndServices(); - - LocalLoginService loginService = - new LocalLoginService( - userService, m_configSettings.StandaloneWelcomeMessage, inventoryService, backendService, m_networkServersInfo, - m_configSettings.StandaloneAuthenticate, libraryRootFolder); - - m_commsManager - = new CommunicationsLocal( - m_networkServersInfo, m_httpServer, m_assetCache, userService, userService, - inventoryService, backendService, backendService, userService, - libraryRootFolder, m_dumpAssetsToFile); - - // set up XMLRPC handler for client's initial login request message - m_httpServer.AddXmlRPCHandler("login_to_simulator", loginService.XmlRpcLoginMethod); - - // provides the web form login - m_httpServer.AddHTTPHandler("login", loginService.ProcessHTMLLogin); - - // Provides the LLSD login - m_httpServer.SetDefaultLLSDHandler(loginService.LLSDLoginMethod); - - // provide grid info - // m_gridInfoService = new GridInfoService(m_config.Source.Configs["Startup"].GetString("inifile", Path.Combine(Util.configDir(), "OpenSim.ini"))); - m_gridInfoService = new GridInfoService(m_config.Source); - m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod); - m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info", m_gridInfoService.RestGetGridInfoMethod)); + InitialiseStandaloneServices(libraryRootFolder); } else { @@ -393,6 +359,49 @@ namespace OpenSim m_commsManager.GridService.RegionLoginsEnabled = true; } + /// + /// Initialises the backend services for standalone mode, and registers some http handlers + /// + /// + protected void InitialiseStandaloneServices(LibraryRootFolder libraryRootFolder) + { + LocalInventoryService inventoryService = new LocalInventoryService(); + inventoryService.AddPlugin(m_configSettings.StandaloneInventoryPlugin, m_configSettings.StandaloneInventorySource); + + LocalUserServices userService = + new LocalUserServices(m_networkServersInfo, m_networkServersInfo.DefaultHomeLocX, + m_networkServersInfo.DefaultHomeLocY, inventoryService); + userService.AddPlugin(m_configSettings.StandaloneUserPlugin, m_configSettings.StandaloneUserSource); + + LocalBackEndServices backendService = new LocalBackEndServices(); + + LocalLoginService loginService = + new LocalLoginService( + userService, m_configSettings.StandaloneWelcomeMessage, inventoryService, backendService, m_networkServersInfo, + m_configSettings.StandaloneAuthenticate, libraryRootFolder); + + m_commsManager + = new CommunicationsLocal( + m_networkServersInfo, m_httpServer, m_assetCache, userService, userService, + inventoryService, backendService, backendService, userService, + libraryRootFolder, m_dumpAssetsToFile); + + // set up XMLRPC handler for client's initial login request message + m_httpServer.AddXmlRPCHandler("login_to_simulator", loginService.XmlRpcLoginMethod); + + // provides the web form login + m_httpServer.AddHTTPHandler("login", loginService.ProcessHTMLLogin); + + // Provides the LLSD login + m_httpServer.SetDefaultLLSDHandler(loginService.LLSDLoginMethod); + + // provide grid info + // m_gridInfoService = new GridInfoService(m_config.Source.Configs["Startup"].GetString("inifile", Path.Combine(Util.configDir(), "OpenSim.ini"))); + m_gridInfoService = new GridInfoService(m_config.Source); + m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod); + m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info", m_gridInfoService.RestGetGridInfoMethod)); + } + protected override void Initialize() { // @@ -401,6 +410,16 @@ namespace OpenSim m_httpServerPort = m_networkServersInfo.HttpListenerPort; + InitialiseAssetCache(); + + m_sceneManager.OnRestartSim += handleRestartRegion; + } + + /// + /// Initialises the assetcache + /// + protected void InitialiseAssetCache() + { IAssetServer assetServer; if (m_configSettings.AssetStorage == "grid") { @@ -428,8 +447,6 @@ namespace OpenSim } m_assetCache = new AssetCache(assetServer); - - m_sceneManager.OnRestartSim += handleRestartRegion; } public UUID CreateUser(string tempfirstname, string templastname, string tempPasswd, uint regX, uint regY) -- cgit v1.1