aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Server/Base/ServerUtils.cs12
-rw-r--r--OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs12
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginService.cs9
-rw-r--r--bin/Robust.HG.ini.example5
4 files changed, 32 insertions, 6 deletions
diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs
index 18a4266..57d0a8d 100644
--- a/OpenSim/Server/Base/ServerUtils.cs
+++ b/OpenSim/Server/Base/ServerUtils.cs
@@ -242,6 +242,18 @@ namespace OpenSim.Server.Base
242 className = parts[2]; 242 className = parts[2];
243 } 243 }
244 244
245 // Handle extra string arguments in a more generic way
246 if (dllName.Contains("@"))
247 {
248 string[] dllNameParts = dllName.Split(new char[] {'@'});
249 dllName = dllNameParts[dllNameParts.Length - 1];
250 List<Object> argList = new List<Object>(args);
251 for (int i = 0 ; i < dllNameParts.Length - 1 ; ++i)
252 argList.Add(dllNameParts[i]);
253
254 args = argList.ToArray();
255 }
256
245 return LoadPlugin<T>(dllName, className, args); 257 return LoadPlugin<T>(dllName, className, args);
246 } 258 }
247 259
diff --git a/OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs b/OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs
index 2ddd7a2..bd5841b 100644
--- a/OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs
+++ b/OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs
@@ -63,6 +63,7 @@ namespace OpenSim.Services.Connectors
63 /// In this case, -1 is default timeout (100 seconds), not infinite. 63 /// In this case, -1 is default timeout (100 seconds), not infinite.
64 /// </remarks> 64 /// </remarks>
65 private int m_requestTimeoutSecs = -1; 65 private int m_requestTimeoutSecs = -1;
66 private string m_configName = "InventoryService";
66 67
67 private const double CACHE_EXPIRATION_SECONDS = 20.0; 68 private const double CACHE_EXPIRATION_SECONDS = 20.0;
68 private static ExpiringCache<UUID, InventoryItemBase> m_ItemCache = new ExpiringCache<UUID,InventoryItemBase>(); 69 private static ExpiringCache<UUID, InventoryItemBase> m_ItemCache = new ExpiringCache<UUID,InventoryItemBase>();
@@ -76,6 +77,13 @@ namespace OpenSim.Services.Connectors
76 m_ServerURI = serverURI.TrimEnd('/'); 77 m_ServerURI = serverURI.TrimEnd('/');
77 } 78 }
78 79
80 public XInventoryServicesConnector(IConfigSource source, string configName)
81 : base(source, configName)
82 {
83 m_configName = configName;
84 Initialise(source);
85 }
86
79 public XInventoryServicesConnector(IConfigSource source) 87 public XInventoryServicesConnector(IConfigSource source)
80 : base(source, "InventoryService") 88 : base(source, "InventoryService")
81 { 89 {
@@ -84,10 +92,10 @@ namespace OpenSim.Services.Connectors
84 92
85 public virtual void Initialise(IConfigSource source) 93 public virtual void Initialise(IConfigSource source)
86 { 94 {
87 IConfig config = source.Configs["InventoryService"]; 95 IConfig config = source.Configs[m_configName];
88 if (config == null) 96 if (config == null)
89 { 97 {
90 m_log.Error("[INVENTORY CONNECTOR]: InventoryService missing from OpenSim.ini"); 98 m_log.ErrorFormat("[INVENTORY CONNECTOR]: {0} missing from OpenSim.ini", m_configName);
91 throw new Exception("Inventory connector init error"); 99 throw new Exception("Inventory connector init error");
92 } 100 }
93 101
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs
index 6d63959..5d69705 100644
--- a/OpenSim/Services/LLLoginService/LLLoginService.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginService.cs
@@ -180,9 +180,14 @@ namespace OpenSim.Services.LLLoginService
180 string hgInvServicePlugin = m_LoginServerConfig.GetString("HGInventoryServicePlugin", String.Empty); 180 string hgInvServicePlugin = m_LoginServerConfig.GetString("HGInventoryServicePlugin", String.Empty);
181 if (hgInvServicePlugin != string.Empty) 181 if (hgInvServicePlugin != string.Empty)
182 { 182 {
183 // TODO: Remove HGInventoryServiceConstructorArg after 0.9 release
183 string hgInvServiceArg = m_LoginServerConfig.GetString("HGInventoryServiceConstructorArg", String.Empty); 184 string hgInvServiceArg = m_LoginServerConfig.GetString("HGInventoryServiceConstructorArg", String.Empty);
184 Object[] args2 = new Object[] { config, hgInvServiceArg }; 185 if (hgInvServiceArg != String.Empty)
185 m_HGInventoryService = ServerUtils.LoadPlugin<IInventoryService>(hgInvServicePlugin, args2); 186 {
187 m_log.Warn("[LLOGIN SERVICE]: You are using HGInventoryServiceConstructorArg, which is deprecated. See example file for correct syntax.");
188 hgInvServicePlugin = hgInvServiceArg + "@" + hgInvServicePlugin;
189 }
190 m_HGInventoryService = ServerUtils.LoadPlugin<IInventoryService>(hgInvServicePlugin, args);
186 } 191 }
187 192
188 // 193 //
diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example
index 20c0804..7d13d43 100644
--- a/bin/Robust.HG.ini.example
+++ b/bin/Robust.HG.ini.example
@@ -488,8 +488,9 @@
488 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" 488 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
489 489
490 ; This inventory service will be used to initialize the user's inventory 490 ; This inventory service will be used to initialize the user's inventory
491 HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" 491 HGInventoryServicePlugin = "HGInventoryService@OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
492 HGInventoryServiceConstructorArg = "HGInventoryService" 492 ; NOTE: HGInventoryServiceConstructorArg is deprecated. For now it will work, but see above
493 ; for the correct method if passing additional arguments.
493 ;; end hypergrid 494 ;; end hypergrid
494 495
495 ; Ask co-operative viewers to use a different currency name 496 ; Ask co-operative viewers to use a different currency name