aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJohan Berntsson2008-03-11 03:10:21 +0000
committerJohan Berntsson2008-03-11 03:10:21 +0000
commitbec947cde31a57f4c240ac63b0cb30daef49e3e8 (patch)
treebdffce1a8ee7dca2d3fc7617bb8f50f1a699487a
parentthis fixes a port initialization problem in the LoadBalancer plugin (diff)
downloadopensim-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.cs23
-rw-r--r--ThirdParty/3Di/LoadBalancer/LoadBalancerPlugin.cs1
-rw-r--r--ThirdParty/3Di/RegionProxy/RegionProxyPlugin.cs2
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
58namespace OpenSim.ApplicationPlugins.LoadBalancer 59namespace 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
44using Mono.Addins; 44using 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
49namespace OpenSim.ApplicationPlugins.RegionProxy 49namespace OpenSim.ApplicationPlugins.RegionProxy