aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Grid/UserServer
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Grid/UserServer')
-rw-r--r--OpenSim/Grid/UserServer/Main.cs1
-rw-r--r--OpenSim/Grid/UserServer/UserManager.cs37
2 files changed, 38 insertions, 0 deletions
diff --git a/OpenSim/Grid/UserServer/Main.cs b/OpenSim/Grid/UserServer/Main.cs
index 00a1641..a2881e6 100644
--- a/OpenSim/Grid/UserServer/Main.cs
+++ b/OpenSim/Grid/UserServer/Main.cs
@@ -115,6 +115,7 @@ namespace OpenSim.Grid.UserServer
115 httpServer.AddXmlRPCHandler("remove_user_friend", m_userManager.XmlRpcResponseXmlRPCRemoveUserFriend); 115 httpServer.AddXmlRPCHandler("remove_user_friend", m_userManager.XmlRpcResponseXmlRPCRemoveUserFriend);
116 httpServer.AddXmlRPCHandler("update_user_friend_perms", m_userManager.XmlRpcResponseXmlRPCUpdateUserFriendPerms); 116 httpServer.AddXmlRPCHandler("update_user_friend_perms", m_userManager.XmlRpcResponseXmlRPCUpdateUserFriendPerms);
117 httpServer.AddXmlRPCHandler("get_user_friend_list", m_userManager.XmlRpcResponseXmlRPCGetUserFriendList); 117 httpServer.AddXmlRPCHandler("get_user_friend_list", m_userManager.XmlRpcResponseXmlRPCGetUserFriendList);
118 httpServer.AddXmlRPCHandler("logout_of_simulator", m_userManager.XmlRPCLogOffUserMethodUUID);
118 119
119 // Message Server ---> User Server 120 // Message Server ---> User Server
120 httpServer.AddXmlRPCHandler("register_messageserver", m_messagesService.XmlRPCRegisterMessageServer); 121 httpServer.AddXmlRPCHandler("register_messageserver", m_messagesService.XmlRPCRegisterMessageServer);
diff --git a/OpenSim/Grid/UserServer/UserManager.cs b/OpenSim/Grid/UserServer/UserManager.cs
index 03b1fbc..3f2aa5b 100644
--- a/OpenSim/Grid/UserServer/UserManager.cs
+++ b/OpenSim/Grid/UserServer/UserManager.cs
@@ -317,6 +317,43 @@ namespace OpenSim.Grid.UserServer
317 return ProfileToXmlRPCResponse(userProfile); 317 return ProfileToXmlRPCResponse(userProfile);
318 } 318 }
319 319
320 public XmlRpcResponse XmlRPCLogOffUserMethodUUID(XmlRpcRequest request)
321 {
322 XmlRpcResponse response = new XmlRpcResponse();
323 Hashtable requestData = (Hashtable)request.Params[0];
324
325
326 UserProfileData userProfile;
327
328 if (requestData.Contains("avatar_uuid"))
329 {
330 try
331 {
332 LLUUID userUUID = new LLUUID((string)requestData["avatar_uuid"]);
333 LLUUID RegionID = new LLUUID((string)requestData["region_uuid"]);
334 ulong regionhandle = (ulong)Convert.ToInt64((string)requestData["region_handle"]);
335 float posx = (float)Convert.ToDecimal((string)requestData["region_pos_x"]);
336 float posy = (float)Convert.ToDecimal((string)requestData["region_pos_y"]);
337 float posz = (float)Convert.ToDecimal((string)requestData["region_pos_z"]);
338
339 LogOffUser(userUUID, RegionID, regionhandle, posx, posy, posz);
340 }
341 catch (FormatException)
342 {
343 OpenSim.Framework.Console.MainLog.Instance.Warn("LOGOUT", "Error in Logout XMLRPC Params");
344 return response;
345 }
346
347 }
348 else
349 {
350 return CreateUnknownUserErrorResponse();
351 }
352
353
354 return response;
355 }
356
320 #endregion 357 #endregion
321 358
322 public override UserProfileData SetupMasterUser(string firstName, string lastName) 359 public override UserProfileData SetupMasterUser(string firstName, string lastName)