Database and presence changes. Untested

This commit is contained in:
Melanie
2009-12-28 17:34:42 +00:00
parent f43a648052
commit 92a40129b5
8 changed files with 39 additions and 44 deletions

View File

@@ -86,7 +86,7 @@ namespace OpenSim.Services.Connectors
#region IPresenceService
public bool LoginAgent(UUID principalID, UUID sessionID, UUID secureSessionID)
public bool LoginAgent(string userID, UUID sessionID, UUID secureSessionID)
{
Dictionary<string, object> sendData = new Dictionary<string, object>();
//sendData["SCOPEID"] = scopeID.ToString();
@@ -94,7 +94,7 @@ namespace OpenSim.Services.Connectors
sendData["VERSIONMAX"] = ProtocolVersions.ClientProtocolVersionMax.ToString();
sendData["METHOD"] = "login";
sendData["PrincipalID"] = principalID.ToString();
sendData["UserID"] = userID;
sendData["SessionID"] = sessionID.ToString();
sendData["SecureSessionID"] = secureSessionID.ToString();

View File

@@ -34,7 +34,7 @@ namespace OpenSim.Services.Interfaces
{
public class PresenceInfo
{
public UUID PrincipalID;
public string UserID;
public UUID RegionID;
public bool Online;
public DateTime Login;
@@ -48,8 +48,8 @@ namespace OpenSim.Services.Interfaces
public PresenceInfo(Dictionary<string, object> kvp)
{
if (kvp.ContainsKey("PrincipalID"))
UUID.TryParse(kvp["PrincipalID"].ToString(), out PrincipalID);
if (kvp.ContainsKey("UserID"))
UserID = kvp["UserID"].ToString();
if (kvp.ContainsKey("RegionID"))
UUID.TryParse(kvp["RegionID"].ToString(), out RegionID);
if (kvp.ContainsKey("login"))
@@ -68,7 +68,7 @@ namespace OpenSim.Services.Interfaces
public Dictionary<string, object> ToKeyValuePairs()
{
Dictionary<string, object> result = new Dictionary<string, object>();
result["PrincipalID"] = PrincipalID.ToString();
result["UserID"] = UserID;
result["RegionID"] = RegionID.ToString();
result["online"] = Online.ToString();
result["login"] = Login.ToString();
@@ -82,7 +82,7 @@ namespace OpenSim.Services.Interfaces
public interface IPresenceService
{
bool LoginAgent(UUID principalID, UUID sessionID, UUID secureSessionID);
bool LoginAgent(string userID, UUID sessionID, UUID secureSessionID);
bool LogoutAgent(UUID sessionID);
bool LogoutRegionAgents(UUID regionID);

View File

@@ -50,7 +50,7 @@ namespace OpenSim.Services.PresenceService
{
}
public bool LoginAgent(UUID principalID, UUID sessionID,
public bool LoginAgent(string userID, UUID sessionID,
UUID secureSessionID)
{
// We have just logged in. If there is any info in the table
@@ -58,7 +58,7 @@ namespace OpenSim.Services.PresenceService
//
PresenceData data = new PresenceData();
data.PrincipalID = principalID;
data.UserID = userID;
data.RegionID = UUID.Zero;
data.SessionID = sessionID;
data.Data["SecureSessionID"] = secureSessionID.ToString();
@@ -105,7 +105,7 @@ namespace OpenSim.Services.PresenceService
if (data == null)
return null;
ret.PrincipalID = data.PrincipalID;
ret.UserID = data.UserID;
ret.RegionID = data.RegionID;
ret.Online = bool.Parse(data.Data["Online"]);
ret.Login = Util.ToDateTime(Convert.ToInt32(data.Data["Login"]));
@@ -116,34 +116,30 @@ namespace OpenSim.Services.PresenceService
return ret;
}
public PresenceInfo[] GetAgents(string[] principalIDs)
public PresenceInfo[] GetAgents(string[] userIDs)
{
List<PresenceInfo> info = new List<PresenceInfo>();
foreach (string principalIDStr in principalIDs)
foreach (string userIDStr in userIDs)
{
UUID principalID = UUID.Zero;
if (UUID.TryParse(principalIDStr, out principalID))
PresenceData[] data = m_Database.Get("UserID",
userIDStr);
foreach (PresenceData d in data)
{
PresenceData[] data = m_Database.Get("PrincipalID",
principalID.ToString());
PresenceInfo ret = new PresenceInfo();
foreach (PresenceData d in data)
{
PresenceInfo ret = new PresenceInfo();
ret.UserID = d.UserID;
ret.RegionID = d.RegionID;
ret.Online = bool.Parse(d.Data["Online"]);
ret.Login = Util.ToDateTime(Convert.ToInt32(
d.Data["Login"]));
ret.Logout = Util.ToDateTime(Convert.ToInt32(
d.Data["Logout"]));
ret.Position = Vector3.Parse(d.Data["Position"]);
ret.LookAt = Vector3.Parse(d.Data["LookAt"]);
ret.PrincipalID = d.PrincipalID;
ret.RegionID = d.RegionID;
ret.Online = bool.Parse(d.Data["Online"]);
ret.Login = Util.ToDateTime(Convert.ToInt32(
d.Data["Login"]));
ret.Logout = Util.ToDateTime(Convert.ToInt32(
d.Data["Logout"]));
ret.Position = Vector3.Parse(d.Data["Position"]);
ret.LookAt = Vector3.Parse(d.Data["LookAt"]);
info.Add(ret);
}
info.Add(ret);
}
}

View File

@@ -44,7 +44,7 @@ namespace OpenSim.Services.PresenceService
{
string dllName = String.Empty;
string connString = String.Empty;
string realm = "agents";
string realm = "Presence";
//
// Try reading the [DatabaseService] section, if it exists