diff options
author | MW | 2007-11-04 22:16:13 +0000 |
---|---|---|
committer | MW | 2007-11-04 22:16:13 +0000 |
commit | 1467720f6085dc5dfefdb3e83acd7afe21a11e28 (patch) | |
tree | 924d32f57782df808b35bb2b6e485be280f2860f /OpenSim/Region/Application/OpenSimMain.cs | |
parent | * Small touchup of console messages (diff) | |
download | opensim-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.cs | 63 |
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; | |||
35 | using OpenSim.Framework.Communications.Cache; | 35 | using OpenSim.Framework.Communications.Cache; |
36 | using OpenSim.Framework.Console; | 36 | using OpenSim.Framework.Console; |
37 | using OpenSim.Framework.Servers; | 37 | using OpenSim.Framework.Servers; |
38 | using OpenSim.Framework.RegionLoader.Filesystem; | ||
39 | using OpenSim.Framework.RegionLoader.Web; | ||
40 | using OpenSim.Region.ClientStack; | 38 | using OpenSim.Region.ClientStack; |
41 | using OpenSim.Region.Communications.Local; | 39 | using OpenSim.Region.Communications.Local; |
42 | using OpenSim.Region.Communications.OGS1; | 40 | using 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 | ||