diff options
author | Johan Berntsson | 2008-03-11 03:10:21 +0000 |
---|---|---|
committer | Johan Berntsson | 2008-03-11 03:10:21 +0000 |
commit | bec947cde31a57f4c240ac63b0cb30daef49e3e8 (patch) | |
tree | bdffce1a8ee7dca2d3fc7617bb8f50f1a699487a | |
parent | this fixes a port initialization problem in the LoadBalancer plugin (diff) | |
download | opensim-SC_OLD-bec947cde31a57f4c240ac63b0cb30daef49e3e8.zip opensim-SC_OLD-bec947cde31a57f4c240ac63b0cb30daef49e3e8.tar.gz opensim-SC_OLD-bec947cde31a57f4c240ac63b0cb30daef49e3e8.tar.bz2 opensim-SC_OLD-bec947cde31a57f4c240ac63b0cb30daef49e3e8.tar.xz |
The plugin loader can now handle plugin dependencies without hardcoding
-rw-r--r-- | OpenSim/Region/Application/OpenSimMain.cs | 23 | ||||
-rw-r--r-- | ThirdParty/3Di/LoadBalancer/LoadBalancerPlugin.cs | 1 | ||||
-rw-r--r-- | ThirdParty/3Di/RegionProxy/RegionProxyPlugin.cs | 2 |
3 files changed, 7 insertions, 19 deletions
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index ea25147..33d0999 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs | |||
@@ -374,27 +374,14 @@ namespace OpenSim | |||
374 | m_moduleLoader = new ModuleLoader(m_config); | 374 | m_moduleLoader = new ModuleLoader(m_config); |
375 | 375 | ||
376 | ExtensionNodeList nodes = AddinManager.GetExtensionNodes("/OpenSim/Startup"); | 376 | ExtensionNodeList nodes = AddinManager.GetExtensionNodes("/OpenSim/Startup"); |
377 | m_log.InfoFormat("[PLUGINS]: Loading {0} OpenSim application plugins", nodes.Count); | ||
378 | foreach (TypeExtensionNode node in nodes) | 377 | foreach (TypeExtensionNode node in nodes) |
379 | { | 378 | { |
380 | // First load the proxy server (if present) | 379 | m_log.InfoFormat("[PLUGINS]: Loading OpenSim application plugin {0}", node.Path); |
381 | if(node.Path.Contains("Proxy")) | 380 | IApplicationPlugin plugin = (IApplicationPlugin)node.CreateInstance(); |
382 | { | 381 | plugin.Initialise(this); |
383 | IApplicationPlugin plugin = (IApplicationPlugin)node.CreateInstance(); | 382 | m_plugins.Add(plugin); |
384 | plugin.Initialise(this); | ||
385 | m_plugins.Add(plugin); | ||
386 | } | ||
387 | } | ||
388 | // then load the other modules | ||
389 | foreach (TypeExtensionNode node in nodes) | ||
390 | { | ||
391 | if(!node.Path.Contains("Proxy")) | ||
392 | { | ||
393 | IApplicationPlugin plugin = (IApplicationPlugin)node.CreateInstance(); | ||
394 | plugin.Initialise(this); | ||
395 | m_plugins.Add(plugin); | ||
396 | } | ||
397 | } | 383 | } |
384 | |||
398 | // Start UDP servers | 385 | // Start UDP servers |
399 | //for (int i = 0; i < m_udpServers.Count; i++) | 386 | //for (int i = 0; i < m_udpServers.Count; i++) |
400 | //{ | 387 | //{ |
diff --git a/ThirdParty/3Di/LoadBalancer/LoadBalancerPlugin.cs b/ThirdParty/3Di/LoadBalancer/LoadBalancerPlugin.cs index f8cac5b..27fa148 100644 --- a/ThirdParty/3Di/LoadBalancer/LoadBalancerPlugin.cs +++ b/ThirdParty/3Di/LoadBalancer/LoadBalancerPlugin.cs | |||
@@ -54,6 +54,7 @@ using libsecondlife.Packets; | |||
54 | 54 | ||
55 | [assembly:Addin] | 55 | [assembly:Addin] |
56 | [assembly:AddinDependency ("OpenSim", "0.5")] | 56 | [assembly:AddinDependency ("OpenSim", "0.5")] |
57 | [assembly:AddinDependency ("RegionProxy", "0.1")] | ||
57 | 58 | ||
58 | namespace OpenSim.ApplicationPlugins.LoadBalancer | 59 | namespace OpenSim.ApplicationPlugins.LoadBalancer |
59 | { | 60 | { |
diff --git a/ThirdParty/3Di/RegionProxy/RegionProxyPlugin.cs b/ThirdParty/3Di/RegionProxy/RegionProxyPlugin.cs index 99a6727..5ab7eae 100644 --- a/ThirdParty/3Di/RegionProxy/RegionProxyPlugin.cs +++ b/ThirdParty/3Di/RegionProxy/RegionProxyPlugin.cs | |||
@@ -43,7 +43,7 @@ using Nwc.XmlRpc; | |||
43 | 43 | ||
44 | using Mono.Addins; | 44 | using Mono.Addins; |
45 | 45 | ||
46 | [assembly:Addin] | 46 | [assembly:Addin ("RegionProxy", "0.1")] |
47 | [assembly:AddinDependency ("OpenSim", "0.5")] | 47 | [assembly:AddinDependency ("OpenSim", "0.5")] |
48 | 48 | ||
49 | namespace OpenSim.ApplicationPlugins.RegionProxy | 49 | namespace OpenSim.ApplicationPlugins.RegionProxy |