diff options
Diffstat (limited to 'OpenSim/Framework')
4 files changed, 23 insertions, 33 deletions
diff --git a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs index 15066cd..c5bbd6a 100644 --- a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs +++ b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs | |||
@@ -202,6 +202,25 @@ namespace OpenSim.Framework.Communications.Cache | |||
202 | m_rootFolder = null; | 202 | m_rootFolder = null; |
203 | } | 203 | } |
204 | } | 204 | } |
205 | |||
206 | /// <summary> | ||
207 | /// Fetch inventory for this user. | ||
208 | /// </summary> | ||
209 | /// This has to be executed as a separate step once user information is retreived. | ||
210 | /// This will occur synchronously if the inventory service is in the same process as this class, and | ||
211 | /// asynchronously otherwise. | ||
212 | public void FetchInventory() | ||
213 | { | ||
214 | if (m_commsManager.SecureInventoryService != null) | ||
215 | { | ||
216 | m_commsManager.SecureInventoryService.RequestInventoryForUser( | ||
217 | UserProfile.ID, SessionID, InventoryReceive); | ||
218 | } | ||
219 | else | ||
220 | { | ||
221 | m_commsManager.InventoryService.RequestInventoryForUser(UserProfile.ID, InventoryReceive); | ||
222 | } | ||
223 | } | ||
205 | 224 | ||
206 | /// <summary> | 225 | /// <summary> |
207 | /// Callback invoked when the inventory is received from an async request to the inventory service | 226 | /// Callback invoked when the inventory is received from an async request to the inventory service |
diff --git a/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs b/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs index ef190c8..b1ce3e7 100644 --- a/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs +++ b/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs | |||
@@ -105,36 +105,6 @@ namespace OpenSim.Framework.Communications.Cache | |||
105 | } | 105 | } |
106 | 106 | ||
107 | /// <summary> | 107 | /// <summary> |
108 | /// Request the inventory data for the given user. This will occur asynchronously if running on a grid | ||
109 | /// </summary> | ||
110 | /// <param name="userID"></param> | ||
111 | /// <param name="userInfo"></param> | ||
112 | public void RequestInventoryForUser(UUID userID) | ||
113 | { | ||
114 | CachedUserInfo userInfo = GetUserDetails(userID); | ||
115 | if (userInfo != null) | ||
116 | { | ||
117 | if (m_commsManager.SecureInventoryService != null) | ||
118 | { | ||
119 | m_commsManager.SecureInventoryService.RequestInventoryForUser(userID, userInfo.SessionID, userInfo.InventoryReceive); | ||
120 | } | ||
121 | else | ||
122 | { | ||
123 | m_commsManager.InventoryService.RequestInventoryForUser(userID, userInfo.InventoryReceive); | ||
124 | } | ||
125 | //IInventoryServices invService = userInfo.GetInventoryService(); | ||
126 | //if (invService != null) | ||
127 | //{ | ||
128 | // invService.RequestInventoryForUser(userID, userInfo.InventoryReceive); | ||
129 | //} | ||
130 | } | ||
131 | else | ||
132 | { | ||
133 | m_log.ErrorFormat("[USER CACHE]: RequestInventoryForUser() - user profile for user {0} not found", userID); | ||
134 | } | ||
135 | } | ||
136 | |||
137 | /// <summary> | ||
138 | /// Get cached details of the given user. If the user isn't in cache then the user is requested from the | 108 | /// Get cached details of the given user. If the user isn't in cache then the user is requested from the |
139 | /// profile service. | 109 | /// profile service. |
140 | /// </summary> | 110 | /// </summary> |
diff --git a/OpenSim/Framework/Communications/Tests/Cache/UserProfileCacheServiceTests.cs b/OpenSim/Framework/Communications/Tests/Cache/UserProfileCacheServiceTests.cs index cda9d5c..e2576ef 100644 --- a/OpenSim/Framework/Communications/Tests/Cache/UserProfileCacheServiceTests.cs +++ b/OpenSim/Framework/Communications/Tests/Cache/UserProfileCacheServiceTests.cs | |||
@@ -64,7 +64,7 @@ namespace OpenSim.Framework.Communications.Tests | |||
64 | /// Test requesting inventory for a user | 64 | /// Test requesting inventory for a user |
65 | /// </summary> | 65 | /// </summary> |
66 | [Test] | 66 | [Test] |
67 | public void TestRequestInventoryForUser() | 67 | public void TestFetchInventory() |
68 | { | 68 | { |
69 | TestCommunicationsManager commsManager = new TestCommunicationsManager(); | 69 | TestCommunicationsManager commsManager = new TestCommunicationsManager(); |
70 | CachedUserInfo userInfo = UserProfileTestUtils.CreateUserWithInventory(commsManager); | 70 | CachedUserInfo userInfo = UserProfileTestUtils.CreateUserWithInventory(commsManager); |
diff --git a/OpenSim/Framework/Communications/Tests/Cache/UserProfileTestUtils.cs b/OpenSim/Framework/Communications/Tests/Cache/UserProfileTestUtils.cs index 85cc940..93ce916 100644 --- a/OpenSim/Framework/Communications/Tests/Cache/UserProfileTestUtils.cs +++ b/OpenSim/Framework/Communications/Tests/Cache/UserProfileTestUtils.cs | |||
@@ -59,9 +59,10 @@ namespace OpenSim.Framework.Communications.Tests | |||
59 | 59 | ||
60 | lus.AddUser("Bill", "Bailey", "troll", "bill@bailey.com", 1000, 1000, userId); | 60 | lus.AddUser("Bill", "Bailey", "troll", "bill@bailey.com", 1000, 1000, userId); |
61 | 61 | ||
62 | commsManager.UserProfileCacheService.RequestInventoryForUser(userId); | 62 | CachedUserInfo userInfo = commsManager.UserProfileCacheService.GetUserDetails(userId); |
63 | userInfo.FetchInventory(); | ||
63 | 64 | ||
64 | return commsManager.UserProfileCacheService.GetUserDetails(userId); | 65 | return userInfo; |
65 | } | 66 | } |
66 | } | 67 | } |
67 | } | 68 | } |