*** CHANGED CONFIG BEHAVIOUR ***
* Changed really strange LocalSettings behaviour with enforcing hard-coded plugin names if none supplied * UserServices and InventoryPlugin will only load if supplied with filenameafrisby
parent
a9a126063f
commit
5818958a9a
|
@ -23,28 +23,28 @@ namespace OpenSim.Framework.InventoryServiceBase
|
||||||
/// <param name="FileName">The filename to the user server plugin DLL</param>
|
/// <param name="FileName">The filename to the user server plugin DLL</param>
|
||||||
public void AddPlugin(string FileName)
|
public void AddPlugin(string FileName)
|
||||||
{
|
{
|
||||||
MainLog.Instance.Verbose("Inventory", "Inventorystorage: Attempting to load " + FileName);
|
if (!String.IsNullOrEmpty(FileName))
|
||||||
Assembly pluginAssembly = Assembly.LoadFrom(FileName);
|
|
||||||
|
|
||||||
foreach (Type pluginType in pluginAssembly.GetTypes())
|
|
||||||
{
|
{
|
||||||
if (!pluginType.IsAbstract)
|
MainLog.Instance.Verbose("Inventory", "Inventorystorage: Attempting to load " + FileName);
|
||||||
|
Assembly pluginAssembly = Assembly.LoadFrom(FileName);
|
||||||
|
|
||||||
|
foreach (Type pluginType in pluginAssembly.GetTypes())
|
||||||
{
|
{
|
||||||
Type typeInterface = pluginType.GetInterface("IInventoryData", true);
|
if (!pluginType.IsAbstract)
|
||||||
|
|
||||||
if (typeInterface != null)
|
|
||||||
{
|
{
|
||||||
IInventoryData plug = (IInventoryData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
|
Type typeInterface = pluginType.GetInterface("IInventoryData", true);
|
||||||
plug.Initialise();
|
|
||||||
this.m_plugins.Add(plug.getName(), plug);
|
|
||||||
MainLog.Instance.Verbose("Inventorystorage: Added IInventoryData Interface");
|
|
||||||
}
|
|
||||||
|
|
||||||
typeInterface = null;
|
if (typeInterface != null)
|
||||||
|
{
|
||||||
|
IInventoryData plug =
|
||||||
|
(IInventoryData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
|
||||||
|
plug.Initialise();
|
||||||
|
this.m_plugins.Add(plug.getName(), plug);
|
||||||
|
MainLog.Instance.Verbose("Inventorystorage: Added IInventoryData Interface");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pluginAssembly = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -32,15 +33,11 @@ using System.Reflection;
|
||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
using libsecondlife;
|
using libsecondlife;
|
||||||
using Nwc.XmlRpc;
|
using Nwc.XmlRpc;
|
||||||
|
using OpenSim.Framework.Configuration;
|
||||||
using OpenSim.Framework.Console;
|
using OpenSim.Framework.Console;
|
||||||
using OpenSim.Framework.Data;
|
using OpenSim.Framework.Data;
|
||||||
using OpenSim.Framework.Interfaces;
|
|
||||||
using OpenSim.Framework.Inventory;
|
|
||||||
using OpenSim.Framework.Utilities;
|
using OpenSim.Framework.Utilities;
|
||||||
|
|
||||||
using OpenSim.Framework.Configuration;
|
|
||||||
using InventoryFolder = OpenSim.Framework.Inventory.InventoryFolder;
|
|
||||||
|
|
||||||
namespace OpenSim.Framework.UserManagement
|
namespace OpenSim.Framework.UserManagement
|
||||||
{
|
{
|
||||||
public abstract class UserManagerBase
|
public abstract class UserManagerBase
|
||||||
|
@ -54,32 +51,32 @@ namespace OpenSim.Framework.UserManagement
|
||||||
/// <param name="FileName">The filename to the user server plugin DLL</param>
|
/// <param name="FileName">The filename to the user server plugin DLL</param>
|
||||||
public void AddPlugin(string FileName)
|
public void AddPlugin(string FileName)
|
||||||
{
|
{
|
||||||
MainLog.Instance.Verbose( "Userstorage: Attempting to load " + FileName);
|
if (!String.IsNullOrEmpty(FileName))
|
||||||
Assembly pluginAssembly = Assembly.LoadFrom(FileName);
|
|
||||||
|
|
||||||
MainLog.Instance.Verbose( "Userstorage: Found " + pluginAssembly.GetTypes().Length + " interfaces.");
|
|
||||||
foreach (Type pluginType in pluginAssembly.GetTypes())
|
|
||||||
{
|
{
|
||||||
if (!pluginType.IsAbstract)
|
MainLog.Instance.Verbose("Userstorage: Attempting to load " + FileName);
|
||||||
|
Assembly pluginAssembly = Assembly.LoadFrom(FileName);
|
||||||
|
|
||||||
|
MainLog.Instance.Verbose("Userstorage: Found " + pluginAssembly.GetTypes().Length + " interfaces.");
|
||||||
|
foreach (Type pluginType in pluginAssembly.GetTypes())
|
||||||
{
|
{
|
||||||
Type typeInterface = pluginType.GetInterface("IUserData", true);
|
if (!pluginType.IsAbstract)
|
||||||
|
|
||||||
if (typeInterface != null)
|
|
||||||
{
|
{
|
||||||
IUserData plug = (IUserData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
|
Type typeInterface = pluginType.GetInterface("IUserData", true);
|
||||||
plug.Initialise();
|
|
||||||
AddPlugin(plug);
|
|
||||||
}
|
|
||||||
|
|
||||||
typeInterface = null;
|
if (typeInterface != null)
|
||||||
|
{
|
||||||
|
IUserData plug =
|
||||||
|
(IUserData) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
|
||||||
|
AddPlugin(plug);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pluginAssembly = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddPlugin(IUserData plug)
|
public void AddPlugin(IUserData plug)
|
||||||
{
|
{
|
||||||
|
plug.Initialise();
|
||||||
this._plugins.Add(plug.getName(), plug);
|
this._plugins.Add(plug.getName(), plug);
|
||||||
MainLog.Instance.Verbose( "Userstorage: Added IUserData Interface");
|
MainLog.Instance.Verbose( "Userstorage: Added IUserData Interface");
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,8 +79,8 @@ namespace OpenSim
|
||||||
|
|
||||||
private bool standaloneAuthenticate = false;
|
private bool standaloneAuthenticate = false;
|
||||||
private string standaloneWelcomeMessage = null;
|
private string standaloneWelcomeMessage = null;
|
||||||
private string standaloneInventoryPlugin = "";
|
private string standaloneInventoryPlugin = "OpenSim.Framework.Data.SQLite.dll";
|
||||||
private string standaloneUserPlugin = "";
|
private string standaloneUserPlugin = "OpenSim.Framework.Data.DB4o.dll";
|
||||||
|
|
||||||
private string m_assetStorage = "db4o";
|
private string m_assetStorage = "db4o";
|
||||||
|
|
||||||
|
|
|
@ -44,13 +44,13 @@ namespace OpenSim.Region.Communications.Local
|
||||||
public LocalUserServices UserServices;
|
public LocalUserServices UserServices;
|
||||||
public LocalLoginService LoginServices;
|
public LocalLoginService LoginServices;
|
||||||
public LocalInventoryService InvenServices;
|
public LocalInventoryService InvenServices;
|
||||||
|
|
||||||
protected LocalSettings m_settings;
|
protected LocalSettings m_settings;
|
||||||
|
|
||||||
protected CommunicationsLocal(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache )
|
protected CommunicationsLocal(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache)
|
||||||
: base(serversInfo, httpServer, assetCache)
|
: base(serversInfo, httpServer, assetCache)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public CommunicationsLocal(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache, LocalSettings settings)
|
public CommunicationsLocal(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache, LocalSettings settings)
|
||||||
|
@ -94,7 +94,7 @@ namespace OpenSim.Region.Communications.Local
|
||||||
|
|
||||||
if (cmmdParams.Length < 2)
|
if (cmmdParams.Length < 2)
|
||||||
{
|
{
|
||||||
|
|
||||||
firstName = MainLog.Instance.CmdPrompt("First name", "Default");
|
firstName = MainLog.Instance.CmdPrompt("First name", "Default");
|
||||||
lastName = MainLog.Instance.CmdPrompt("Last name", "User");
|
lastName = MainLog.Instance.CmdPrompt("Last name", "User");
|
||||||
password = MainLog.Instance.PasswdPrompt("Password");
|
password = MainLog.Instance.PasswdPrompt("Password");
|
||||||
|
@ -126,7 +126,7 @@ namespace OpenSim.Region.Communications.Local
|
||||||
{
|
{
|
||||||
return LLUUID.Zero;
|
return LLUUID.Zero;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this.InvenServices.CreateNewUserInventory(userProf.UUID);
|
this.InvenServices.CreateNewUserInventory(userProf.UUID);
|
||||||
Console.WriteLine("Created new inventory set for " + firstName + " " + lastName);
|
Console.WriteLine("Created new inventory set for " + firstName + " " + lastName);
|
||||||
|
@ -136,23 +136,17 @@ namespace OpenSim.Region.Communications.Local
|
||||||
|
|
||||||
public class LocalSettings
|
public class LocalSettings
|
||||||
{
|
{
|
||||||
public string WelcomeMessage = "";
|
public string WelcomeMessage;
|
||||||
public bool AccountAuthentication = false;
|
public bool AccountAuthentication = false;
|
||||||
public string InventoryPlugin = "OpenSim.Framework.Data.SQLite.dll";
|
public string InventoryPlugin;
|
||||||
public string UserDatabasePlugin = "OpenSim.Framework.Data.DB4o.dll";
|
public string UserDatabasePlugin;
|
||||||
|
|
||||||
public LocalSettings(string welcomeMessage, bool accountsAuthenticate, string inventoryPlugin, string userPlugin)
|
public LocalSettings(string welcomeMessage, bool accountsAuthenticate, string inventoryPlugin, string userPlugin)
|
||||||
{
|
{
|
||||||
WelcomeMessage = welcomeMessage;
|
WelcomeMessage = welcomeMessage;
|
||||||
AccountAuthentication = accountsAuthenticate;
|
AccountAuthentication = accountsAuthenticate;
|
||||||
if (inventoryPlugin != "")
|
InventoryPlugin = inventoryPlugin;
|
||||||
{
|
UserDatabasePlugin = userPlugin;
|
||||||
InventoryPlugin = inventoryPlugin;
|
|
||||||
}
|
|
||||||
if (userPlugin != "")
|
|
||||||
{
|
|
||||||
UserDatabasePlugin = userPlugin;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue