mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 18:25:33 +08:00
Merge branch 'master' into careminster-presence-refactor
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user