Added support for OpenSim application plugins (as requested by Adam), which use Mono.addins for loading/management. (which is a pure .net solution so works on both Mono and MS .net, and is under the MIT license, will add the source code for the library later). I also suggest we look into switching to using Mono.addins for our Region module loading management.

A little bit more refactoring of Scene.
This commit is contained in:
MW
2007-11-04 13:48:15 +00:00
parent d34ee746e7
commit 039f2c46c0
10 changed files with 102 additions and 57 deletions

View File

@@ -44,7 +44,8 @@ using OpenSim.Region.Environment;
using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.Physics.Manager;
using Mono.Addins;
using Mono.Addins.Description;
namespace OpenSim
{
@@ -93,6 +94,8 @@ namespace OpenSim
: base()
{
IConfig startupConfig = configSource.Configs["Startup"];
AddinManager.Initialize(".");
string iniFilePath = startupConfig.GetString("inifile", "OpenSim.ini");
@@ -275,6 +278,13 @@ namespace OpenSim
m_httpServer.AddStreamHandler(new SimStatusHandler());
}
MainLog.Instance.Verbose("Plugins", "Loading OpenSim application plugins");
foreach (TypeExtensionNode node in AddinManager.GetExtensionNodes("/OpenSim/Startup"))
{
IApplicationPlugin plugin = (IApplicationPlugin)node.CreateInstance();
plugin.Initialise(this);
}
IRegionLoader regionLoader;
if (m_config.Configs["Startup"].GetString("region_info_source", "filesystem") == "filesystem")
{