Merge branch 'master' of opensimulator.org:/var/git/opensim

melanie
Melanie Thielker 2017-01-02 19:31:23 +00:00
commit 65dfb62b74
4 changed files with 32 additions and 6 deletions

View File

@ -242,6 +242,18 @@ namespace OpenSim.Server.Base
className = parts[2];
}
// Handle extra string arguments in a more generic way
if (dllName.Contains("@"))
{
string[] dllNameParts = dllName.Split(new char[] {'@'});
dllName = dllNameParts[dllNameParts.Length - 1];
List<Object> argList = new List<Object>(args);
for (int i = 0 ; i < dllNameParts.Length - 1 ; ++i)
argList.Add(dllNameParts[i]);
args = argList.ToArray();
}
return LoadPlugin<T>(dllName, className, args);
}

View File

@ -63,6 +63,7 @@ namespace OpenSim.Services.Connectors
/// In this case, -1 is default timeout (100 seconds), not infinite.
/// </remarks>
private int m_requestTimeoutSecs = -1;
private string m_configName = "InventoryService";
private const double CACHE_EXPIRATION_SECONDS = 20.0;
private static ExpiringCache<UUID, InventoryItemBase> m_ItemCache = new ExpiringCache<UUID,InventoryItemBase>();
@ -76,6 +77,13 @@ namespace OpenSim.Services.Connectors
m_ServerURI = serverURI.TrimEnd('/');
}
public XInventoryServicesConnector(IConfigSource source, string configName)
: base(source, configName)
{
m_configName = configName;
Initialise(source);
}
public XInventoryServicesConnector(IConfigSource source)
: base(source, "InventoryService")
{
@ -84,10 +92,10 @@ namespace OpenSim.Services.Connectors
public virtual void Initialise(IConfigSource source)
{
IConfig config = source.Configs["InventoryService"];
IConfig config = source.Configs[m_configName];
if (config == null)
{
m_log.Error("[INVENTORY CONNECTOR]: InventoryService missing from OpenSim.ini");
m_log.ErrorFormat("[INVENTORY CONNECTOR]: {0} missing from OpenSim.ini", m_configName);
throw new Exception("Inventory connector init error");
}

View File

@ -180,9 +180,14 @@ namespace OpenSim.Services.LLLoginService
string hgInvServicePlugin = m_LoginServerConfig.GetString("HGInventoryServicePlugin", String.Empty);
if (hgInvServicePlugin != string.Empty)
{
// TODO: Remove HGInventoryServiceConstructorArg after 0.9 release
string hgInvServiceArg = m_LoginServerConfig.GetString("HGInventoryServiceConstructorArg", String.Empty);
Object[] args2 = new Object[] { config, hgInvServiceArg };
m_HGInventoryService = ServerUtils.LoadPlugin<IInventoryService>(hgInvServicePlugin, args2);
if (hgInvServiceArg != String.Empty)
{
m_log.Warn("[LLOGIN SERVICE]: You are using HGInventoryServiceConstructorArg, which is deprecated. See example file for correct syntax.");
hgInvServicePlugin = hgInvServiceArg + "@" + hgInvServicePlugin;
}
m_HGInventoryService = ServerUtils.LoadPlugin<IInventoryService>(hgInvServicePlugin, args);
}
//

View File

@ -488,8 +488,9 @@
UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
; This inventory service will be used to initialize the user's inventory
HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
HGInventoryServiceConstructorArg = "HGInventoryService"
HGInventoryServicePlugin = "HGInventoryService@OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
; NOTE: HGInventoryServiceConstructorArg is deprecated. For now it will work, but see above
; for the correct method if passing additional arguments.
;; end hypergrid
; Ask co-operative viewers to use a different currency name