Merge branch 'master' into careminster-presence-refactor

This commit is contained in:
Melanie
2010-05-08 13:31:36 +01:00
52 changed files with 1760 additions and 730 deletions

View File

@@ -37,39 +37,79 @@ namespace OpenSim.Services.Interfaces
public class GridUserInfo
{
public string UserID;
public UUID HomeRegionID;
public Vector3 HomePosition;
public Vector3 HomeLookAt;
public UUID LastRegionID;
public Vector3 LastPosition;
public Vector3 LastLookAt;
public bool Online;
public DateTime Login;
public DateTime Logout;
public GridUserInfo() {}
public GridUserInfo(Dictionary<string, object> kvp)
{
if (kvp.ContainsKey("UserID"))
UserID = kvp["UserID"].ToString();
if (kvp.ContainsKey("HomeRegionID"))
UUID.TryParse(kvp["HomeRegionID"].ToString(), out HomeRegionID);
if (kvp.ContainsKey("HomePosition"))
Vector3.TryParse(kvp["HomePosition"].ToString(), out HomePosition);
if (kvp.ContainsKey("HomeLookAt"))
Vector3.TryParse(kvp["HomeLookAt"].ToString(), out HomeLookAt);
if (kvp.ContainsKey("LastRegionID"))
UUID.TryParse(kvp["LastRegionID"].ToString(), out HomeRegionID);
if (kvp.ContainsKey("LastPosition"))
Vector3.TryParse(kvp["LastPosition"].ToString(), out LastPosition);
if (kvp.ContainsKey("LastLookAt"))
Vector3.TryParse(kvp["LastLookAt"].ToString(), out LastLookAt);
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("Online"))
Boolean.TryParse(kvp["Online"].ToString(), out Online);
}
public Dictionary<string, object> ToKeyValuePairs()
{
Dictionary<string, object> result = new Dictionary<string, object>();
result["UserID"] = UserID;
result["HomeRegionID"] = HomeRegionID.ToString();
result["HomePosition"] = HomePosition.ToString();
result["HomeLookAt"] = HomeLookAt.ToString();
result["LastRegionID"] = LastRegionID.ToString();
result["LastPosition"] = LastPosition.ToString();
result["LastLookAt"] = LastLookAt.ToString();
result["Online"] = Online.ToString();
result["Login"] = Login.ToString();
result["Logout"] = Logout.ToString();
return result;
}
}
public interface IGridUserService
{
GridUserInfo LoggedIn(string userID);
bool LoggedOut(string userID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt);
bool SetHome(string userID, UUID homeID, Vector3 homePosition, Vector3 homeLookAt);
bool SetLastPosition(string userID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt);
GridUserInfo GetGridUserInfo(string userID);
bool StoreGridUserInfo(GridUserInfo info);
}
}

View File

@@ -55,23 +55,6 @@ namespace OpenSim.Services.Interfaces
UserID = kvp["UserID"].ToString();
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);
if (kvp.ContainsKey("HomeRegionID"))
UUID.TryParse(kvp["HomeRegionID"].ToString(), out HomeRegionID);
if (kvp.ContainsKey("HomePosition"))
Vector3.TryParse(kvp["HomePosition"].ToString(), out HomePosition);
if (kvp.ContainsKey("HomeLookAt"))
Vector3.TryParse(kvp["HomeLookAt"].ToString(), out HomeLookAt);
}
public Dictionary<string, object> ToKeyValuePairs()
@@ -79,14 +62,6 @@ namespace OpenSim.Services.Interfaces
Dictionary<string, object> result = new Dictionary<string, object>();
result["UserID"] = UserID;
result["RegionID"] = RegionID.ToString();
result["online"] = Online.ToString();
result["login"] = Login.ToString();
result["logout"] = Logout.ToString();
result["position"] = Position.ToString();
result["lookAt"] = LookAt.ToString();
result["HomeRegionID"] = HomeRegionID.ToString();
result["HomePosition"] = HomePosition.ToString();
result["HomeLookAt"] = HomeLookAt.ToString();
return result;
}
@@ -115,11 +90,10 @@ namespace OpenSim.Services.Interfaces
public interface IPresenceService
{
bool LoginAgent(string userID, UUID sessionID, UUID secureSessionID);
bool LogoutAgent(UUID sessionID, Vector3 position, Vector3 lookAt);
bool LogoutAgent(UUID sessionID);
bool LogoutRegionAgents(UUID regionID);
bool ReportAgent(UUID sessionID, UUID regionID, Vector3 position, Vector3 lookAt);
bool SetHomeLocation(string userID, UUID regionID, Vector3 position, Vector3 lookAt);
bool ReportAgent(UUID sessionID, UUID regionID);
PresenceInfo GetAgent(UUID sessionID);
PresenceInfo[] GetAgents(string[] userIDs);