aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Application
diff options
context:
space:
mode:
authorSean Dague2008-04-21 12:42:56 +0000
committerSean Dague2008-04-21 12:42:56 +0000
commitbf1580fba45df7624180b07599c8170074500c99 (patch)
tree696a69c94554f0789b123c82fb34c658e9a0b6af /OpenSim/Region/Application
parent* Various refactorings. (diff)
downloadopensim-SC-bf1580fba45df7624180b07599c8170074500c99.zip
opensim-SC-bf1580fba45df7624180b07599c8170074500c99.tar.gz
opensim-SC-bf1580fba45df7624180b07599c8170074500c99.tar.bz2
opensim-SC-bf1580fba45df7624180b07599c8170074500c99.tar.xz
From: Dr Scofield <hud@zurich.ibm.com>
the attached patch set is centered around RemoteAdminPlugin and focuses mainly on making it more robust (i.e. more parameter checking and better error reporting) but also we've re-implemented the LoadTerrain stuff that got disabled during the terrain code reworking: * missing PostInitialize() calls on region modules that were loaded for regions created via RemoteAdmin's CreateRegion XmlRpc call * re-implements RemoteAdmin's LoadTerrain XmlRpc call (probably lost during the TerrainModule rework) * adds lots more parameter checking and error reporting to RemoteAdmin * adds a read-only property to RegionApplicationBase so that we can access the CommsManager * adds Exceptions to TerrainModule so that we get better error case feedback (and can report more meaningful errors in turn) * adds a CheckForTerrainUpdate() call to TerrainModule.LoadFromFile() to make terrain changes effective * adds TryGetCurrentScene(LLUUID) to SceneManager so that we can retrieve Scenes not only by name but also by LLUUID cheers, dr scofield
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Application/OpenSimMain.cs33
1 files changed, 31 insertions, 2 deletions
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs
index aa08f81..26ae525 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -462,7 +462,28 @@ namespace OpenSim
462 /// <param name="regionInfo"></param> 462 /// <param name="regionInfo"></param>
463 /// <param name="portadd_flag"></param> 463 /// <param name="portadd_flag"></param>
464 /// <returns></returns> 464 /// <returns></returns>
465 public UDPServer CreateRegion(RegionInfo regionInfo, bool portadd_flag) 465 public UDPServer CreateRegion(RegionInfo regionInfo, bool portadd_flag) {
466 return CreateRegion(regionInfo, portadd_flag, false);
467 }
468
469 /// <summary>
470 /// Execute the region creation process. This includes setting up scene infrastructure.
471 /// </summary>
472 /// <param name="regionInfo"></param>
473 /// <param name="portadd_flag"></param>
474 /// <returns></returns>
475 public UDPServer CreateRegion(RegionInfo regionInfo) {
476 return CreateRegion(regionInfo, false, true);
477 }
478
479 /// <summary>
480 /// Execute the region creation process. This includes setting up scene infrastructure.
481 /// </summary>
482 /// <param name="regionInfo"></param>
483 /// <param name="portadd_flag"></param>
484 /// <param name="do_post_init"></param>
485 /// <returns></returns>
486 public UDPServer CreateRegion(RegionInfo regionInfo, bool portadd_flag, bool do_post_init)
466 { 487 {
467 int port = regionInfo.InternalEndPoint.Port; 488 int port = regionInfo.InternalEndPoint.Port;
468 489
@@ -487,7 +508,7 @@ namespace OpenSim
487 508
488 m_log.Info("[MODULES]: Loading Region's modules"); 509 m_log.Info("[MODULES]: Loading Region's modules");
489 510
490 m_moduleLoader.PickupModules(scene, "."); 511 List<IRegionModule> modules = m_moduleLoader.PickupModules(scene, ".");
491 //m_moduleLoader.PickupModules(scene, "ScriptEngines"); 512 //m_moduleLoader.PickupModules(scene, "ScriptEngines");
492 //m_moduleLoader.LoadRegionModules(Path.Combine("ScriptEngines", m_scriptEngine), scene); 513 //m_moduleLoader.LoadRegionModules(Path.Combine("ScriptEngines", m_scriptEngine), scene);
493 514
@@ -536,6 +557,14 @@ namespace OpenSim
536 m_regionData.Add(regionInfo); 557 m_regionData.Add(regionInfo);
537 udpServer.ServerListener(); 558 udpServer.ServerListener();
538 559
560 if (do_post_init)
561 {
562 foreach (IRegionModule module in modules)
563 {
564 module.PostInitialise();
565 }
566 }
567
539 return udpServer; 568 return udpServer;
540 } 569 }
541 570