Adding new fields and home location methid to presence. Adding cleanup

(deleting all but one presence record) on logout so that they don't pile up.
This commit is contained in:
Melanie
2009-12-28 23:42:08 +00:00
parent 2ed207509b
commit e0fc854f05
9 changed files with 176 additions and 4 deletions

View File

@@ -90,6 +90,8 @@ namespace OpenSim.Server.Handlers.Presence
return GetAgent(request);
case "getagents":
return GetAgents(request);
case "sethome":
return SetHome(request);
}
m_log.DebugFormat("[PRESENCE HANDLER]: unknown method request: {0}", method);
}
@@ -303,5 +305,32 @@ namespace OpenSim.Server.Handlers.Presence
return ms.ToArray();
}
byte[] SetHome(Dictionary<string, object> request)
{
UUID region = UUID.Zero;
Vector3 position = new Vector3(128, 128, 70);
Vector3 look = Vector3.Zero;
if (!request.ContainsKey("SessionID") || !request.ContainsKey("RegionID"))
return FailureResult();
string user = request["UserID"].ToString();
if (!UUID.TryParse(request["RegionID"].ToString(), out region))
return FailureResult();
if (request.ContainsKey("position"))
Vector3.TryParse(request["position"].ToString(), out position);
if (request.ContainsKey("lookAt"))
Vector3.TryParse(request["lookAt"].ToString(), out look);
if (m_PresenceService.SetHomeLocation(user, region, position, look))
return SuccessResult();
return FailureResult();
}
}
}