aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/LLLoginService
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Services/LLLoginService')
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginResponse.cs20
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginService.cs12
2 files changed, 28 insertions, 4 deletions
diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs
index d1dcfe7..54d53fb 100644
--- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs
@@ -217,12 +217,14 @@ namespace OpenSim.Services.LLLoginService
217 217
218 public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo, 218 public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo,
219 GridRegion destination, List<InventoryFolderBase> invSkel, FriendInfo[] friendsList, ILibraryService libService, 219 GridRegion destination, List<InventoryFolderBase> invSkel, FriendInfo[] friendsList, ILibraryService libService,
220 string where, string startlocation, Vector3 position, Vector3 lookAt, string message, 220 string where, string startlocation, Vector3 position, Vector3 lookAt, List<InventoryItemBase> gestures, string message,
221 GridRegion home, IPEndPoint clientIP) 221 GridRegion home, IPEndPoint clientIP)
222 : this() 222 : this()
223 { 223 {
224 FillOutInventoryData(invSkel, libService); 224 FillOutInventoryData(invSkel, libService);
225 225
226 FillOutActiveGestures(gestures);
227
226 CircuitCode = (int)aCircuit.circuitcode; 228 CircuitCode = (int)aCircuit.circuitcode;
227 Lastname = account.LastName; 229 Lastname = account.LastName;
228 Firstname = account.FirstName; 230 Firstname = account.FirstName;
@@ -283,6 +285,22 @@ namespace OpenSim.Services.LLLoginService
283 } 285 }
284 } 286 }
285 287
288 private void FillOutActiveGestures(List<InventoryItemBase> gestures)
289 {
290 ArrayList list = new ArrayList();
291 if (gestures != null)
292 {
293 foreach (InventoryItemBase gesture in gestures)
294 {
295 Hashtable item = new Hashtable();
296 item["item_id"] = gesture.ID.ToString();
297 item["asset_id"] = gesture.AssetID.ToString();
298 list.Add(item);
299 }
300 }
301 ActiveGestures = list;
302 }
303
286 private void FillOutHomeData(GridUserInfo pinfo, GridRegion home) 304 private void FillOutHomeData(GridUserInfo pinfo, GridRegion home)
287 { 305 {
288 int x = 1000 * (int)Constants.RegionSize, y = 1000 * (int)Constants.RegionSize; 306 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 9d151df..6319cc4 100644
--- a/OpenSim/Services/LLLoginService/LLLoginService.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginService.cs
@@ -272,6 +272,10 @@ namespace OpenSim.Services.LLLoginService
272 return LLFailedLoginResponse.InventoryProblem; 272 return LLFailedLoginResponse.InventoryProblem;
273 } 273 }
274 274
275 // Get active gestures
276 List<InventoryItemBase> gestures = m_InventoryService.GetActiveGestures(account.PrincipalID);
277 m_log.DebugFormat("[LLOGIN SERVICE]: {0} active gestures", gestures.Count);
278
275 // 279 //
276 // Login the presence 280 // Login the presence
277 // 281 //
@@ -350,7 +354,7 @@ namespace OpenSim.Services.LLLoginService
350 // Finally, fill out the response and return it 354 // Finally, fill out the response and return it
351 // 355 //
352 LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService, 356 LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService,
353 where, startLocation, position, lookAt, m_WelcomeMessage, home, clientIP); 357 where, startLocation, position, lookAt, gestures, m_WelcomeMessage, home, clientIP);
354 358
355 m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client."); 359 m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client.");
356 return response; 360 return response;
@@ -746,8 +750,10 @@ namespace OpenSim.Services.LLLoginService
746 m_log.Debug("[LLOGIN SERVICE] Launching agent at " + destination.RegionName); 750 m_log.Debug("[LLOGIN SERVICE] Launching agent at " + destination.RegionName);
747 if (m_UserAgentService.LoginAgentToGrid(aCircuit, gatekeeper, destination, out reason)) 751 if (m_UserAgentService.LoginAgentToGrid(aCircuit, gatekeeper, destination, out reason))
748 { 752 {
749 //IPAddress addr = NetworkUtil.GetIPFor(clientIP.Address, gatekeeper.ExternalEndPoint.Address); 753 // We may need to do this at some point,
750 m_UserAgentService.SetClientToken(aCircuit.SessionID, clientIP.Address.ToString()); 754 // so leaving it here in comments.
755 //IPAddress addr = NetworkUtil.GetIPFor(clientIP.Address, destination.ExternalEndPoint.Address);
756 m_UserAgentService.SetClientToken(aCircuit.SessionID, /*addr.Address.ToString() */ clientIP.Address.ToString());
751 return true; 757 return true;
752 } 758 }
753 return false; 759 return false;