aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Application/OpenSimMain.cs
diff options
context:
space:
mode:
authorMW2007-11-04 22:16:13 +0000
committerMW2007-11-04 22:16:13 +0000
commit1467720f6085dc5dfefdb3e83acd7afe21a11e28 (patch)
tree924d32f57782df808b35bb2b6e485be280f2860f /OpenSim/Region/Application/OpenSimMain.cs
parent* Small touchup of console messages (diff)
downloadopensim-SC-1467720f6085dc5dfefdb3e83acd7afe21a11e28.zip
opensim-SC-1467720f6085dc5dfefdb3e83acd7afe21a11e28.tar.gz
opensim-SC-1467720f6085dc5dfefdb3e83acd7afe21a11e28.tar.bz2
opensim-SC-1467720f6085dc5dfefdb3e83acd7afe21a11e28.tar.xz
Added forgotten ApplicationPlugins directory and moved the load region code out to a plugin.
To make opensim search for the new plugin, you will need to delete the "addin-db-000" and "addins" sub directories in bin if you have them.
Diffstat (limited to 'OpenSim/Region/Application/OpenSimMain.cs')
-rw-r--r--OpenSim/Region/Application/OpenSimMain.cs63
1 files changed, 21 insertions, 42 deletions
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs
index 666e0d2..69cedaf 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -35,8 +35,6 @@ using OpenSim.Framework;
35using OpenSim.Framework.Communications.Cache; 35using OpenSim.Framework.Communications.Cache;
36using OpenSim.Framework.Console; 36using OpenSim.Framework.Console;
37using OpenSim.Framework.Servers; 37using OpenSim.Framework.Servers;
38using OpenSim.Framework.RegionLoader.Filesystem;
39using OpenSim.Framework.RegionLoader.Web;
40using OpenSim.Region.ClientStack; 38using OpenSim.Region.ClientStack;
41using OpenSim.Region.Communications.Local; 39using OpenSim.Region.Communications.Local;
42using OpenSim.Region.Communications.OGS1; 40using OpenSim.Region.Communications.OGS1;
@@ -63,9 +61,7 @@ namespace OpenSim
63 61
64 private OpenSimController m_controller; 62 private OpenSimController m_controller;
65 63
66 protected ModuleLoader m_moduleLoader;
67 protected LocalLoginService m_loginService; 64 protected LocalLoginService m_loginService;
68 private IniConfigSource m_config;
69 65
70 protected string m_storageDLL = "OpenSim.DataStore.NullStorage.dll"; 66 protected string m_storageDLL = "OpenSim.DataStore.NullStorage.dll";
71 67
@@ -90,6 +86,24 @@ namespace OpenSim
90 public ConsoleCommand CreateAccount = null; 86 public ConsoleCommand CreateAccount = null;
91 private bool m_dumpAssetsToFile; 87 private bool m_dumpAssetsToFile;
92 88
89 private List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>();
90
91 private IniConfigSource m_config;
92
93 public IniConfigSource ConfigSource
94 {
95 get { return m_config; }
96 set { m_config = value; }
97 }
98
99 private ModuleLoader m_moduleLoader;
100
101 public ModuleLoader ModuleLoader
102 {
103 get { return m_moduleLoader; }
104 set { m_moduleLoader = value; }
105 }
106
93 public OpenSimMain(IConfigSource configSource) 107 public OpenSimMain(IConfigSource configSource)
94 : base() 108 : base()
95 { 109 {
@@ -278,44 +292,16 @@ namespace OpenSim
278 m_httpServer.AddStreamHandler(new SimStatusHandler()); 292 m_httpServer.AddStreamHandler(new SimStatusHandler());
279 } 293 }
280 294
295 m_moduleLoader = new ModuleLoader(m_log, m_config);
296
281 MainLog.Instance.Verbose("Plugins", "Loading OpenSim application plugins"); 297 MainLog.Instance.Verbose("Plugins", "Loading OpenSim application plugins");
282 foreach (TypeExtensionNode node in AddinManager.GetExtensionNodes("/OpenSim/Startup")) 298 foreach (TypeExtensionNode node in AddinManager.GetExtensionNodes("/OpenSim/Startup"))
283 { 299 {
284 IApplicationPlugin plugin = (IApplicationPlugin)node.CreateInstance(); 300 IApplicationPlugin plugin = (IApplicationPlugin)node.CreateInstance();
285 plugin.Initialise(this); 301 plugin.Initialise(this);
302 m_plugins.Add(plugin);
286 } 303 }
287 304
288 IRegionLoader regionLoader;
289 if (m_config.Configs["Startup"].GetString("region_info_source", "filesystem") == "filesystem")
290 {
291 MainLog.Instance.Notice("Loading Region Info from filesystem");
292 regionLoader = new RegionLoaderFileSystem();
293 }
294 else
295 {
296 MainLog.Instance.Notice("Loading Region Info from web");
297 regionLoader = new RegionLoaderWebServer();
298 }
299
300 regionLoader.SetIniConfigSource(m_config);
301 RegionInfo[] regionsToLoad = regionLoader.LoadRegions();
302
303 m_moduleLoader = new ModuleLoader(m_log, m_config);
304 MainLog.Instance.Verbose("Loading Shared Modules");
305 m_moduleLoader.LoadDefaultSharedModules();
306
307 // Load all script engines found (scripting engine is now a IRegionModule so loaded in the module loader
308 // OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineLoader ScriptEngineLoader = new OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineLoader(m_log);
309
310 for (int i = 0; i < regionsToLoad.Length; i++)
311 {
312 MainLog.Instance.Debug("Creating Region: " + regionsToLoad[i].RegionName);
313 CreateRegion(regionsToLoad[i]);
314 }
315
316 m_moduleLoader.PostInitialise();
317 m_moduleLoader.ClearCache();
318
319 // Start UDP servers 305 // Start UDP servers
320 for (int i = 0; i < m_udpServers.Count; i++) 306 for (int i = 0; i < m_udpServers.Count; i++)
321 { 307 {
@@ -349,13 +335,6 @@ namespace OpenSim
349 335
350 scene.SetModuleInterfaces(); 336 scene.SetModuleInterfaces();
351 337
352 // Check if we have a script engine to load
353 //if (m_scriptEngine != null && m_scriptEngine != "")
354 //{
355 // OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface ScriptEngine = ScriptEngineLoader.LoadScriptEngine(m_scriptEngine);
356 // scene.AddScriptEngine(ScriptEngine, m_log);
357 //}
358
359 //Server side object editing permissions checking 338 //Server side object editing permissions checking
360 scene.PermissionsMngr.BypassPermissions = !m_permissions; 339 scene.PermissionsMngr.BypassPermissions = !m_permissions;
361 340