diff options
author | Oren Hurvitz | 2014-03-24 18:00:59 +0200 |
---|---|---|
committer | Oren Hurvitz | 2014-03-24 17:02:13 +0100 |
commit | df9845a283d34c65d47b858a1c45934ee2ea6b3b (patch) | |
tree | 0d89e1d00c1401d692204f2198b45049b2509057 | |
parent | Fixed unit tests for delinking objects (diff) | |
download | opensim-SC-df9845a283d34c65d47b858a1c45934ee2ea6b3b.zip opensim-SC-df9845a283d34c65d47b858a1c45934ee2ea6b3b.tar.gz opensim-SC-df9845a283d34c65d47b858a1c45934ee2ea6b3b.tar.bz2 opensim-SC-df9845a283d34c65d47b858a1c45934ee2ea6b3b.tar.xz |
When a user logs-in, automatically create the Suitcase folder
This is only done if the Suitcase Inventory Service is used.
Previously the Suitcase was created at a later time, which meant that it wasn't shown in the viewer until the viewer was restarted.
-rw-r--r-- | OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs | 22 | ||||
-rw-r--r-- | OpenSim/Services/LLLoginService/LLLoginService.cs | 16 |
2 files changed, 23 insertions, 15 deletions
diff --git a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs index 90ce44a..1608039 100644 --- a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs +++ b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs | |||
@@ -215,25 +215,17 @@ namespace OpenSim.Services.HypergridService | |||
215 | if (suitcase == null) | 215 | if (suitcase == null) |
216 | { | 216 | { |
217 | m_log.ErrorFormat("[HG SUITCASE INVENTORY SERVICE]: Unable to create suitcase folder"); | 217 | m_log.ErrorFormat("[HG SUITCASE INVENTORY SERVICE]: Unable to create suitcase folder"); |
218 | return null; | ||
218 | } | 219 | } |
219 | else | 220 | |
220 | { | 221 | m_Database.StoreFolder(suitcase); |
221 | m_Database.StoreFolder(suitcase); | ||
222 | |||
223 | // Create System folders | ||
224 | CreateSystemFolders(principalID, suitcase.folderID); | ||
225 | 222 | ||
226 | SetAsNormalFolder(suitcase); | 223 | CreateSystemFolders(principalID, suitcase.folderID); |
227 | |||
228 | return ConvertToOpenSim(suitcase); | ||
229 | } | ||
230 | } | ||
231 | else | ||
232 | { | ||
233 | return ConvertToOpenSim(suitcase); | ||
234 | } | 224 | } |
235 | 225 | ||
236 | return null; | 226 | SetAsNormalFolder(suitcase); |
227 | |||
228 | return ConvertToOpenSim(suitcase); | ||
237 | } | 229 | } |
238 | 230 | ||
239 | protected void CreateSystemFolders(UUID principalID, UUID rootID) | 231 | protected void CreateSystemFolders(UUID principalID, UUID rootID) |
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 46a5c18..d8f036a 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs | |||
@@ -58,6 +58,7 @@ namespace OpenSim.Services.LLLoginService | |||
58 | protected IGridUserService m_GridUserService; | 58 | protected IGridUserService m_GridUserService; |
59 | protected IAuthenticationService m_AuthenticationService; | 59 | protected IAuthenticationService m_AuthenticationService; |
60 | protected IInventoryService m_InventoryService; | 60 | protected IInventoryService m_InventoryService; |
61 | protected IInventoryService m_HGInventoryService; | ||
61 | protected IGridService m_GridService; | 62 | protected IGridService m_GridService; |
62 | protected IPresenceService m_PresenceService; | 63 | protected IPresenceService m_PresenceService; |
63 | protected ISimulationService m_LocalSimulationService; | 64 | protected ISimulationService m_LocalSimulationService; |
@@ -165,6 +166,14 @@ namespace OpenSim.Services.LLLoginService | |||
165 | if (agentService != string.Empty) | 166 | if (agentService != string.Empty) |
166 | m_UserAgentService = ServerUtils.LoadPlugin<IUserAgentService>(agentService, args); | 167 | m_UserAgentService = ServerUtils.LoadPlugin<IUserAgentService>(agentService, args); |
167 | 168 | ||
169 | // Get the Hypergrid inventory service (exists only if Hypergrid is enabled) | ||
170 | string hgInvService = Util.GetConfigVarFromSections<string>(config, "LocalServiceModule", new string[] { "HGInventoryService" }, String.Empty); | ||
171 | if (hgInvService != string.Empty) | ||
172 | { | ||
173 | Object[] args2 = new Object[] { config, "HGInventoryService" }; | ||
174 | m_HGInventoryService = ServerUtils.LoadPlugin<IInventoryService>(hgInvService, args2); | ||
175 | } | ||
176 | |||
168 | // | 177 | // |
169 | // deal with the services given as argument | 178 | // deal with the services given as argument |
170 | // | 179 | // |
@@ -350,6 +359,13 @@ namespace OpenSim.Services.LLLoginService | |||
350 | return LLFailedLoginResponse.InventoryProblem; | 359 | return LLFailedLoginResponse.InventoryProblem; |
351 | } | 360 | } |
352 | 361 | ||
362 | if (m_HGInventoryService != null) | ||
363 | { | ||
364 | // Give the Suitcase service a chance to create the suitcase folder. | ||
365 | // (If we're not using the Suitcase inventory service then this won't do anything.) | ||
366 | m_HGInventoryService.GetRootFolder(account.PrincipalID); | ||
367 | } | ||
368 | |||
353 | List<InventoryFolderBase> inventorySkel = m_InventoryService.GetInventorySkeleton(account.PrincipalID); | 369 | List<InventoryFolderBase> inventorySkel = m_InventoryService.GetInventorySkeleton(account.PrincipalID); |
354 | if (m_RequireInventory && ((inventorySkel == null) || (inventorySkel != null && inventorySkel.Count == 0))) | 370 | if (m_RequireInventory && ((inventorySkel == null) || (inventorySkel != null && inventorySkel.Count == 0))) |
355 | { | 371 | { |