From 3ef513e863097bdccffa8c84283ab8ffc0915a8f Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 27 Dec 2009 20:34:42 -0800 Subject: Presence remote connector and handler. Presence HG Broker. Nothing tested, just compiles. --- OpenSim/Services/Interfaces/IPresenceService.cs | 39 ++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces') diff --git a/OpenSim/Services/Interfaces/IPresenceService.cs b/OpenSim/Services/Interfaces/IPresenceService.cs index 1cda13c..56d8f15 100644 --- a/OpenSim/Services/Interfaces/IPresenceService.cs +++ b/OpenSim/Services/Interfaces/IPresenceService.cs @@ -41,6 +41,43 @@ namespace OpenSim.Services.Interfaces public DateTime Logout; public Vector3 Position; public Vector3 LookAt; + + public PresenceInfo() + { + } + + public PresenceInfo(Dictionary kvp) + { + if (kvp.ContainsKey("PrincipalID")) + UUID.TryParse(kvp["PrincipalID"].ToString(), out PrincipalID); + if (kvp.ContainsKey("RegionID")) + UUID.TryParse(kvp["RegionID"].ToString(), out RegionID); + if (kvp.ContainsKey("login")) + DateTime.TryParse(kvp["login"].ToString(), out Login); + if (kvp.ContainsKey("logout")) + DateTime.TryParse(kvp["logout"].ToString(), out Logout); + if (kvp.ContainsKey("lookAt")) + Vector3.TryParse(kvp["lookAt"].ToString(), out LookAt); + if (kvp.ContainsKey("online")) + Boolean.TryParse(kvp["online"].ToString(), out Online); + if (kvp.ContainsKey("position")) + Vector3.TryParse(kvp["position"].ToString(), out Position); + + } + + public Dictionary ToKeyValuePairs() + { + Dictionary result = new Dictionary(); + result["PrincipalID"] = PrincipalID.ToString(); + result["RegionID"] = RegionID.ToString(); + result["online"] = Online.ToString(); + result["login"] = Login.ToString(); + result["logout"] = Logout.ToString(); + result["position"] = Position.ToString(); + result["lookAt"] = LookAt.ToString(); + + return result; + } } public interface IPresenceService @@ -52,6 +89,6 @@ namespace OpenSim.Services.Interfaces bool ReportAgent(UUID sessionID, UUID regionID, Vector3 position, Vector3 lookAt); PresenceInfo GetAgent(UUID sessionID); - PresenceInfo[] GetAgents(string[] principalIDs); + PresenceInfo[] GetAgents(string[] userIDs); } } -- cgit v1.1