diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Server/Base/ServerUtils.cs | 12 | ||||
-rw-r--r-- | OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs | 12 | ||||
-rw-r--r-- | OpenSim/Services/LLLoginService/LLLoginService.cs | 9 |
3 files changed, 29 insertions, 4 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 | // |