aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Grid/UserServer/UserManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Grid/UserServer/UserManager.cs')
-rw-r--r--OpenSim/Grid/UserServer/UserManager.cs37
1 files changed, 37 insertions, 0 deletions
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)