* Added MySQLDataStore (adapted from MonoSqlite

* Made startup a little bit more forgiving on dll load
* Minor renamings and musings
afrisby
lbsa71 2007-11-15 15:32:28 +00:00
parent 179695909a
commit 57ff76850d
6 changed files with 1065 additions and 14 deletions

View File

@ -14,7 +14,7 @@ using Nini.Config;
[assembly:Addin]
[assembly:AddinDependency ("OpenSim", "0.4")]
namespace OpenSim.ApplicationPlugins.Example
namespace OpenSim.ApplicationPlugins.LoadRegions
{
[Extension("/OpenSim/Startup")]
public class LoadRegionsPlugin : IApplicationPlugin

File diff suppressed because it is too large Load Diff

View File

@ -64,7 +64,7 @@ namespace OpenSim
protected LocalLoginService m_loginService;
protected string m_storageDLL = "OpenSim.DataStore.NullStorage.dll";
protected string m_storageDll = "OpenSim.DataStore.NullStorage.dll";
protected string m_startupCommandsFile = "";
protected string m_shutdownCommandsFile = "";
@ -218,7 +218,7 @@ namespace OpenSim
m_physicalPrim = startupConfig.GetBoolean("physical_prim", true);
m_permissions = startupConfig.GetBoolean("serverside_object_permissions", false);
m_storageDLL = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll");
m_storageDll = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll");
m_startupCommandsFile = startupConfig.GetString("startup_console_commands_file", "");
m_shutdownCommandsFile = startupConfig.GetString("shutdown_console_commands_file", "");
@ -359,7 +359,7 @@ namespace OpenSim
protected override StorageManager CreateStorageManager(RegionInfo regionInfo)
{
return new StorageManager(m_storageDLL, regionInfo.DataStore, regionInfo.RegionName);
return new StorageManager(m_storageDll, regionInfo.DataStore, regionInfo.RegionName);
}
protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager,

View File

@ -194,19 +194,26 @@ namespace OpenSim.Region.Environment
if (pluginAssembly != null)
{
foreach (Type pluginType in pluginAssembly.GetTypes())
try
{
if (pluginType.IsPublic)
foreach (Type pluginType in pluginAssembly.GetTypes())
{
if (!pluginType.IsAbstract)
if (pluginType.IsPublic)
{
if (pluginType.GetInterface("IRegionModule") != null)
if (!pluginType.IsAbstract)
{
modules.Add((IRegionModule) Activator.CreateInstance(pluginType));
if (pluginType.GetInterface("IRegionModule") != null)
{
modules.Add((IRegionModule)Activator.CreateInstance(pluginType));
}
}
}
}
}
catch( ReflectionTypeLoadException )
{
m_log.Verbose("MODULES", "Could not load types for [{0}].", pluginAssembly.FullName );
}
}
return modules.ToArray();

View File

@ -15,11 +15,18 @@ physics = basicphysics
;physics = OpenDynamicsEngine
;physics = modified_BulletX
; Prim Storage
; if you would like to use sqlite uncomment the following line (and
; comment the NullStorage line)
; *** Prim Storage - only leave one storage_plugin uncommented ***
; --- The NullStorage stores nothing - effectively disabling persistence.
; storage_plugin = "OpenSim.DataStore.NullStorage.dll"
; --- To use sqlite as region storage - don't forget to add datastore="MonoSqliteFilename.db"
; to region config xml (ie /Regions/default.xml) as the storages are (currently supposed to be) per region.
storage_plugin = "OpenSim.DataStore.MonoSqlite.dll"
;storage_plugin = "OpenSim.DataStore.NullStorage.dll"
; --- This is to use MySQL storage - don't forget to add datastore="<MySql Connection String>"
; to region config xml (ie /Regions/default.xml) as the storages are (currently supposed to be) per region.
; storage_plugin="OpenSim.Framework.Data.MySQL.dll"
startup_console_commands_file = "startup_commands.txt"
shutdown_console_commands_file = "shutdown_commands.txt"
serverside_object_permissions = false

View File

@ -807,6 +807,8 @@
<Reference name="libsecondlife.dll"/>
<Reference name="MySql.Data.dll"/>
<Reference name="OpenSim.Framework.Console"/>
<Reference name="OpenSim.Region.Environment"/>
<Files>
<Match pattern="*.cs" recurse="true"/>
<Match path="Resources" pattern="*.sql" buildAction="EmbeddedResource"/>