diff options
Merge branch 'master' into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Services/LLLoginService')
-rw-r--r-- | OpenSim/Services/LLLoginService/LLLoginResponse.cs | 20 | ||||
-rw-r--r-- | OpenSim/Services/LLLoginService/LLLoginService.cs | 6 |
2 files changed, 24 insertions, 2 deletions
diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs index dc5ca51..edf41bc 100644 --- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs +++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs | |||
@@ -222,12 +222,14 @@ namespace OpenSim.Services.LLLoginService | |||
222 | 222 | ||
223 | public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo, | 223 | public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo, |
224 | GridRegion destination, List<InventoryFolderBase> invSkel, FriendInfo[] friendsList, ILibraryService libService, | 224 | GridRegion destination, List<InventoryFolderBase> invSkel, FriendInfo[] friendsList, ILibraryService libService, |
225 | string where, string startlocation, Vector3 position, Vector3 lookAt, string message, | 225 | string where, string startlocation, Vector3 position, Vector3 lookAt, List<InventoryItemBase> gestures, string message, |
226 | GridRegion home, IPEndPoint clientIP) | 226 | GridRegion home, IPEndPoint clientIP) |
227 | : this() | 227 | : this() |
228 | { | 228 | { |
229 | FillOutInventoryData(invSkel, libService); | 229 | FillOutInventoryData(invSkel, libService); |
230 | 230 | ||
231 | FillOutActiveGestures(gestures); | ||
232 | |||
231 | CircuitCode = (int)aCircuit.circuitcode; | 233 | CircuitCode = (int)aCircuit.circuitcode; |
232 | Lastname = account.LastName; | 234 | Lastname = account.LastName; |
233 | Firstname = account.FirstName; | 235 | Firstname = account.FirstName; |
@@ -288,6 +290,22 @@ namespace OpenSim.Services.LLLoginService | |||
288 | } | 290 | } |
289 | } | 291 | } |
290 | 292 | ||
293 | private void FillOutActiveGestures(List<InventoryItemBase> gestures) | ||
294 | { | ||
295 | ArrayList list = new ArrayList(); | ||
296 | if (gestures != null) | ||
297 | { | ||
298 | foreach (InventoryItemBase gesture in gestures) | ||
299 | { | ||
300 | Hashtable item = new Hashtable(); | ||
301 | item["item_id"] = gesture.ID.ToString(); | ||
302 | item["asset_id"] = gesture.AssetID.ToString(); | ||
303 | list.Add(item); | ||
304 | } | ||
305 | } | ||
306 | ActiveGestures = list; | ||
307 | } | ||
308 | |||
291 | private void FillOutHomeData(GridUserInfo pinfo, GridRegion home) | 309 | private void FillOutHomeData(GridUserInfo pinfo, GridRegion home) |
292 | { | 310 | { |
293 | int x = 1000 * (int)Constants.RegionSize, y = 1000 * (int)Constants.RegionSize; | 311 | int x = 1000 * (int)Constants.RegionSize, y = 1000 * (int)Constants.RegionSize; |
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index c85d35a..83f9ade 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs | |||
@@ -278,6 +278,10 @@ namespace OpenSim.Services.LLLoginService | |||
278 | return LLFailedLoginResponse.InventoryProblem; | 278 | return LLFailedLoginResponse.InventoryProblem; |
279 | } | 279 | } |
280 | 280 | ||
281 | // Get active gestures | ||
282 | List<InventoryItemBase> gestures = m_InventoryService.GetActiveGestures(account.PrincipalID); | ||
283 | m_log.DebugFormat("[LLOGIN SERVICE]: {0} active gestures", gestures.Count); | ||
284 | |||
281 | // | 285 | // |
282 | // Login the presence | 286 | // Login the presence |
283 | // | 287 | // |
@@ -356,7 +360,7 @@ namespace OpenSim.Services.LLLoginService | |||
356 | // Finally, fill out the response and return it | 360 | // Finally, fill out the response and return it |
357 | // | 361 | // |
358 | LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService, | 362 | LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService, |
359 | where, startLocation, position, lookAt, m_WelcomeMessage, home, clientIP); | 363 | where, startLocation, position, lookAt, gestures, m_WelcomeMessage, home, clientIP); |
360 | 364 | ||
361 | m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client."); | 365 | m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client."); |
362 | return response; | 366 | return response; |