aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Application/OpenSimBase.cs
diff options
context:
space:
mode:
authorMW2008-11-05 17:45:56 +0000
committerMW2008-11-05 17:45:56 +0000
commit079469b3f5e6b8a8b20115312d0bfd89841b3338 (patch)
tree2c70b2cbe4a6699d9867d93a55145675d39efb6a /OpenSim/Region/Application/OpenSimBase.cs
parentMoved most of the configuration fields from Opensimbase to their own Class...... (diff)
downloadopensim-SC_OLD-079469b3f5e6b8a8b20115312d0bfd89841b3338.zip
opensim-SC_OLD-079469b3f5e6b8a8b20115312d0bfd89841b3338.tar.gz
opensim-SC_OLD-079469b3f5e6b8a8b20115312d0bfd89841b3338.tar.bz2
opensim-SC_OLD-079469b3f5e6b8a8b20115312d0bfd89841b3338.tar.xz
more startup/initialisation refactoring
Diffstat (limited to 'OpenSim/Region/Application/OpenSimBase.cs')
-rw-r--r--OpenSim/Region/Application/OpenSimBase.cs97
1 files changed, 57 insertions, 40 deletions
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
271 271
272 if (startupConfig != null) 272 if (startupConfig != null)
273 { 273 {
274 m_configSettings.Sandbox = !startupConfig.GetBoolean("gridmode"); 274 m_configSettings.Standalone = !startupConfig.GetBoolean("gridmode");
275 m_configSettings.PhysicsEngine = startupConfig.GetString("physics"); 275 m_configSettings.PhysicsEngine = startupConfig.GetString("physics");
276 m_configSettings.MeshEngineName = startupConfig.GetString("meshing"); 276 m_configSettings.MeshEngineName = startupConfig.GetString("meshing");
277 277
@@ -333,44 +333,10 @@ namespace OpenSim
333 333
334 LibraryRootFolder libraryRootFolder = new LibraryRootFolder(); 334 LibraryRootFolder libraryRootFolder = new LibraryRootFolder();
335 335
336 // StandAlone mode? m_sandbox is determined by !startupConfig.GetBoolean("gridmode", false) 336 // StandAlone mode? is determined by !startupConfig.GetBoolean("gridmode", false)
337 if (m_configSettings.Sandbox) 337 if (m_configSettings.Standalone)
338 { 338 {
339 LocalInventoryService inventoryService = new LocalInventoryService(); 339 InitialiseStandaloneServices(libraryRootFolder);
340 inventoryService.AddPlugin(m_configSettings.StandaloneInventoryPlugin, m_configSettings.StandaloneInventorySource);
341
342 LocalUserServices userService =
343 new LocalUserServices(m_networkServersInfo, m_networkServersInfo.DefaultHomeLocX,
344 m_networkServersInfo.DefaultHomeLocY, inventoryService);
345 userService.AddPlugin(m_configSettings.StandaloneUserPlugin, m_configSettings.StandaloneUserSource);
346
347 LocalBackEndServices backendService = new LocalBackEndServices();
348
349 LocalLoginService loginService =
350 new LocalLoginService(
351 userService, m_configSettings.StandaloneWelcomeMessage, inventoryService, backendService, m_networkServersInfo,
352 m_configSettings.StandaloneAuthenticate, libraryRootFolder);
353
354 m_commsManager
355 = new CommunicationsLocal(
356 m_networkServersInfo, m_httpServer, m_assetCache, userService, userService,
357 inventoryService, backendService, backendService, userService,
358 libraryRootFolder, m_dumpAssetsToFile);
359
360 // set up XMLRPC handler for client's initial login request message
361 m_httpServer.AddXmlRPCHandler("login_to_simulator", loginService.XmlRpcLoginMethod);
362
363 // provides the web form login
364 m_httpServer.AddHTTPHandler("login", loginService.ProcessHTMLLogin);
365
366 // Provides the LLSD login
367 m_httpServer.SetDefaultLLSDHandler(loginService.LLSDLoginMethod);
368
369 // provide grid info
370 // m_gridInfoService = new GridInfoService(m_config.Source.Configs["Startup"].GetString("inifile", Path.Combine(Util.configDir(), "OpenSim.ini")));
371 m_gridInfoService = new GridInfoService(m_config.Source);
372 m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod);
373 m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info", m_gridInfoService.RestGetGridInfoMethod));
374 } 340 }
375 else 341 else
376 { 342 {
@@ -393,6 +359,49 @@ namespace OpenSim
393 m_commsManager.GridService.RegionLoginsEnabled = true; 359 m_commsManager.GridService.RegionLoginsEnabled = true;
394 } 360 }
395 361
362 /// <summary>
363 /// Initialises the backend services for standalone mode, and registers some http handlers
364 /// </summary>
365 /// <param name="libraryRootFolder"></param>
366 protected void InitialiseStandaloneServices(LibraryRootFolder libraryRootFolder)
367 {
368 LocalInventoryService inventoryService = new LocalInventoryService();
369 inventoryService.AddPlugin(m_configSettings.StandaloneInventoryPlugin, m_configSettings.StandaloneInventorySource);
370
371 LocalUserServices userService =
372 new LocalUserServices(m_networkServersInfo, m_networkServersInfo.DefaultHomeLocX,
373 m_networkServersInfo.DefaultHomeLocY, inventoryService);
374 userService.AddPlugin(m_configSettings.StandaloneUserPlugin, m_configSettings.StandaloneUserSource);
375
376 LocalBackEndServices backendService = new LocalBackEndServices();
377
378 LocalLoginService loginService =
379 new LocalLoginService(
380 userService, m_configSettings.StandaloneWelcomeMessage, inventoryService, backendService, m_networkServersInfo,
381 m_configSettings.StandaloneAuthenticate, libraryRootFolder);
382
383 m_commsManager
384 = new CommunicationsLocal(
385 m_networkServersInfo, m_httpServer, m_assetCache, userService, userService,
386 inventoryService, backendService, backendService, userService,
387 libraryRootFolder, m_dumpAssetsToFile);
388
389 // set up XMLRPC handler for client's initial login request message
390 m_httpServer.AddXmlRPCHandler("login_to_simulator", loginService.XmlRpcLoginMethod);
391
392 // provides the web form login
393 m_httpServer.AddHTTPHandler("login", loginService.ProcessHTMLLogin);
394
395 // Provides the LLSD login
396 m_httpServer.SetDefaultLLSDHandler(loginService.LLSDLoginMethod);
397
398 // provide grid info
399 // m_gridInfoService = new GridInfoService(m_config.Source.Configs["Startup"].GetString("inifile", Path.Combine(Util.configDir(), "OpenSim.ini")));
400 m_gridInfoService = new GridInfoService(m_config.Source);
401 m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod);
402 m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info", m_gridInfoService.RestGetGridInfoMethod));
403 }
404
396 protected override void Initialize() 405 protected override void Initialize()
397 { 406 {
398 // 407 //
@@ -401,6 +410,16 @@ namespace OpenSim
401 410
402 m_httpServerPort = m_networkServersInfo.HttpListenerPort; 411 m_httpServerPort = m_networkServersInfo.HttpListenerPort;
403 412
413 InitialiseAssetCache();
414
415 m_sceneManager.OnRestartSim += handleRestartRegion;
416 }
417
418 /// <summary>
419 /// Initialises the assetcache
420 /// </summary>
421 protected void InitialiseAssetCache()
422 {
404 IAssetServer assetServer; 423 IAssetServer assetServer;
405 if (m_configSettings.AssetStorage == "grid") 424 if (m_configSettings.AssetStorage == "grid")
406 { 425 {
@@ -428,8 +447,6 @@ namespace OpenSim
428 } 447 }
429 448
430 m_assetCache = new AssetCache(assetServer); 449 m_assetCache = new AssetCache(assetServer);
431
432 m_sceneManager.OnRestartSim += handleRestartRegion;
433 } 450 }
434 451
435 public UUID CreateUser(string tempfirstname, string templastname, string tempPasswd, uint regX, uint regY) 452 public UUID CreateUser(string tempfirstname, string templastname, string tempPasswd, uint regX, uint regY)