diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
index 6da55580f6..d7904a6b29 100644
--- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
+++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
@@ -1237,9 +1237,9 @@ namespace OpenSim.ApplicationPlugins.RemoteController
}
else
{
- PresenceInfo[] pinfos = m_app.SceneManager.CurrentOrFirstScene.PresenceService.GetAgents(new string[] { account.PrincipalID.ToString() });
- if (pinfos != null && pinfos.Length >= 1)
- responseData["lastlogin"] = pinfos[0].Login;
+ GridUserInfo guinfo = m_app.SceneManager.CurrentOrFirstScene.GridUserService.GetGridUserInfo(account.PrincipalID.ToString());
+ if (guinfo != null)
+ responseData["lastlogin"] = guinfo.Login;
else
responseData["lastlogin"] = 0;
diff --git a/OpenSim/Data/MySQL/MySQLAssetData.cs b/OpenSim/Data/MySQL/MySQLAssetData.cs
index d55369a946..5a2af4f9ac 100644
--- a/OpenSim/Data/MySQL/MySQLAssetData.cs
+++ b/OpenSim/Data/MySQL/MySQLAssetData.cs
@@ -161,8 +161,8 @@ namespace OpenSim.Data.MySQL
MySqlCommand cmd =
new MySqlCommand(
- "replace INTO assets(id, name, description, assetType, local, temporary, create_time, access_time, data)" +
- "VALUES(?id, ?name, ?description, ?assetType, ?local, ?temporary, ?create_time, ?access_time, ?data)",
+ "replace INTO assets(id, name, description, assetType, local, temporary, create_time, access_time, asset_flags, data)" +
+ "VALUES(?id, ?name, ?description, ?assetType, ?local, ?temporary, ?create_time, ?access_time, ?asset_flags, ?data)",
dbcon);
string assetName = asset.Name;
@@ -194,6 +194,7 @@ namespace OpenSim.Data.MySQL
cmd.Parameters.AddWithValue("?temporary", asset.Temporary);
cmd.Parameters.AddWithValue("?create_time", now);
cmd.Parameters.AddWithValue("?access_time", now);
+ cmd.Parameters.AddWithValue("?asset_flags", (int)asset.Flags);
cmd.Parameters.AddWithValue("?data", asset.Data);
cmd.ExecuteNonQuery();
cmd.Dispose();
@@ -302,7 +303,7 @@ namespace OpenSim.Data.MySQL
using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
{
dbcon.Open();
- MySqlCommand cmd = new MySqlCommand("SELECT name,description,assetType,temporary,id FROM assets LIMIT ?start, ?count", dbcon);
+ MySqlCommand cmd = new MySqlCommand("SELECT name,description,assetType,temporary,id,asset_flags FROM assets LIMIT ?start, ?count", dbcon);
cmd.Parameters.AddWithValue("?start", start);
cmd.Parameters.AddWithValue("?count", count);
@@ -317,6 +318,7 @@ namespace OpenSim.Data.MySQL
metadata.Description = (string)dbReader["description"];
metadata.Type = (sbyte)dbReader["assetType"];
metadata.Temporary = Convert.ToBoolean(dbReader["temporary"]); // Not sure if this is correct.
+ metadata.Flags = (AssetFlags)Convert.ToInt32(dbReader["asset_flags"]);
metadata.FullID = new UUID((string)dbReader["id"]);
// Current SHA1s are not stored/computed.
diff --git a/OpenSim/Data/MySQL/Resources/007_AssetStore.sql b/OpenSim/Data/MySQL/Resources/007_AssetStore.sql
new file mode 100644
index 0000000000..f06121abc1
--- /dev/null
+++ b/OpenSim/Data/MySQL/Resources/007_AssetStore.sql
@@ -0,0 +1,5 @@
+BEGIN;
+
+ALTER TABLE assets ADD COLUMN asset_flags INTEGER NOT NULL DEFAULT 0;
+
+COMMIT;
diff --git a/OpenSim/Framework/AssetBase.cs b/OpenSim/Framework/AssetBase.cs
index 19ca232208..7ecf198bd8 100644
--- a/OpenSim/Framework/AssetBase.cs
+++ b/OpenSim/Framework/AssetBase.cs
@@ -33,6 +33,15 @@ using OpenMetaverse;
namespace OpenSim.Framework
{
+ [Flags]
+ public enum AssetFlags : int
+ {
+ Normal = 0,
+ Maptile = 1,
+ Rewritable = 2,
+ Collectable = 4
+ }
+
///
/// Asset class. All Assets are reference by this class or a class derived from this class
///
@@ -206,6 +215,12 @@ namespace OpenSim.Framework
set { m_metadata.Temporary = value; }
}
+ public AssetFlags Flags
+ {
+ get { return m_metadata.Flags; }
+ set { m_metadata.Flags = value; }
+ }
+
[XmlIgnore]
public AssetMetadata Metadata
{
@@ -233,6 +248,7 @@ namespace OpenSim.Framework
private bool m_local;
private bool m_temporary;
private string m_creatorid;
+ private AssetFlags m_flags;
public UUID FullID
{
@@ -330,5 +346,11 @@ namespace OpenSim.Framework
get { return m_creatorid; }
set { m_creatorid = value; }
}
+
+ public AssetFlags Flags
+ {
+ get { return m_flags; }
+ set { m_flags = value; }
+ }
}
}
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
index febd4ca993..0c81f446f1 100644
--- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
@@ -345,8 +345,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(client.Scene.RegionInfo.ScopeID, new UUID(im.fromAgentID));
im.fromAgentName = account.FirstName + " " + account.LastName;
+ PresenceInfo presence = null;
PresenceInfo[] presences = PresenceService.GetAgents(new string[] { fid });
- PresenceInfo presence = PresenceInfo.GetOnlinePresence(presences);
+ if (presences != null && presences.Length > 0)
+ presence = presences[0];
if (presence != null)
im.offline = 0;
@@ -380,13 +382,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
PresenceInfo[] presence = PresenceService.GetAgents(friendList.ToArray());
foreach (PresenceInfo pi in presence)
- {
- if (pi.Online)
- {
- online.Add(new UUID(pi.UserID));
- //m_log.DebugFormat("[XXX] {0} friend online {1}", userID, pi.UserID);
- }
- }
+ online.Add(new UUID(pi.UserID));
+ //m_log.DebugFormat("[XXX] {0} friend online {1}", userID, pi.UserID);
return online;
}
@@ -462,11 +459,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
// The friend is not here [as root]. Let's forward.
PresenceInfo[] friendSessions = PresenceService.GetAgents(new string[] { friendID.ToString() });
- PresenceInfo friendSession = PresenceInfo.GetOnlinePresence(friendSessions);
- if (friendSession != null)
+ if (friendSessions != null && friendSessions.Length > 0)
{
- GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
- m_FriendsSimConnector.StatusNotify(region, userID, friendID, online);
+ PresenceInfo friendSession = friendSessions[0];
+ if (friendSession != null)
+ {
+ GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
+ m_FriendsSimConnector.StatusNotify(region, userID, friendID, online);
+ }
}
// Friend is not online. Ignore.
@@ -504,13 +504,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
// The prospective friend is not here [as root]. Let's forward.
PresenceInfo[] friendSessions = PresenceService.GetAgents(new string[] { friendID.ToString() });
- PresenceInfo friendSession = PresenceInfo.GetOnlinePresence(friendSessions);
- if (friendSession != null)
+ if (friendSessions != null && friendSessions.Length > 0)
{
- GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
- m_FriendsSimConnector.FriendshipOffered(region, agentID, friendID, im.message);
+ PresenceInfo friendSession = friendSessions[0];
+ if (friendSession != null)
+ {
+ GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
+ m_FriendsSimConnector.FriendshipOffered(region, agentID, friendID, im.message);
+ }
}
-
// If the prospective friend is not online, he'll get the message upon login.
}
@@ -536,14 +538,16 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
// The friend is not here
PresenceInfo[] friendSessions = PresenceService.GetAgents(new string[] { friendID.ToString() });
- PresenceInfo friendSession = PresenceInfo.GetOnlinePresence(friendSessions);
- if (friendSession != null)
+ if (friendSessions != null && friendSessions.Length > 0)
{
- GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
- m_FriendsSimConnector.FriendshipApproved(region, agentID, client.Name, friendID);
- client.SendAgentOnline(new UUID[] { friendID });
+ PresenceInfo friendSession = friendSessions[0];
+ if (friendSession != null)
+ {
+ GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
+ m_FriendsSimConnector.FriendshipApproved(region, agentID, client.Name, friendID);
+ client.SendAgentOnline(new UUID[] { friendID });
+ }
}
-
}
private void OnDenyFriendRequest(IClientAPI client, UUID agentID, UUID friendID, List callingCardFolders)
@@ -562,11 +566,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
return;
PresenceInfo[] friendSessions = PresenceService.GetAgents(new string[] { friendID.ToString() });
- PresenceInfo friendSession = PresenceInfo.GetOnlinePresence(friendSessions);
- if (friendSession != null)
+ if (friendSessions != null && friendSessions.Length > 0)
{
- GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
- m_FriendsSimConnector.FriendshipDenied(region, agentID, client.Name, friendID);
+ PresenceInfo friendSession = friendSessions[0];
+ if (friendSession != null)
+ {
+ GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
+ m_FriendsSimConnector.FriendshipDenied(region, agentID, client.Name, friendID);
+ }
}
}
@@ -589,11 +596,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
return;
PresenceInfo[] friendSessions = PresenceService.GetAgents(new string[] { exfriendID.ToString() });
- PresenceInfo friendSession = PresenceInfo.GetOnlinePresence(friendSessions);
- if (friendSession != null)
+ if (friendSessions != null && friendSessions.Length > 0)
{
- GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
- m_FriendsSimConnector.FriendshipTerminated(region, agentID, exfriendID);
+ PresenceInfo friendSession = friendSessions[0];
+ if (friendSession != null)
+ {
+ GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
+ m_FriendsSimConnector.FriendshipTerminated(region, agentID, exfriendID);
+ }
}
}
@@ -631,13 +641,16 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
return;
PresenceInfo[] friendSessions = PresenceService.GetAgents(new string[] { target.ToString() });
- PresenceInfo friendSession = PresenceInfo.GetOnlinePresence(friendSessions);
- if (friendSession != null)
+ if (friendSessions != null && friendSessions.Length > 0)
{
- GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
- // TODO: You might want to send the delta to save the lookup
- // on the other end!!
- m_FriendsSimConnector.GrantRights(region, requester, target, myFlags, rights);
+ PresenceInfo friendSession = friendSessions[0];
+ if (friendSession != null)
+ {
+ GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
+ // TODO: You might want to send the delta to save the lookup
+ // on the other end!!
+ m_FriendsSimConnector.GrantRights(region, requester, target, myFlags, rights);
+ }
}
}
}
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
index ad050a1410..5d20e63646 100644
--- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
@@ -471,7 +471,6 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
if (m_UserRegionMap.ContainsKey(toAgentID))
{
upd = new PresenceInfo();
- upd.Online = true;
upd.RegionID = m_UserRegionMap[toAgentID];
// We need to compare the current regionhandle with the previous region handle
@@ -493,15 +492,8 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
{
// Non-cached user agent lookup.
PresenceInfo[] presences = PresenceService.GetAgents(new string[] { toAgentID.ToString() });
- if (presences != null)
- {
- foreach (PresenceInfo p in presences)
- if (p.Online)
- {
- upd = presences[0];
- break;
- }
- }
+ if (presences != null && presences.Length > 0)
+ upd = presences[0];
if (upd != null)
{
@@ -525,61 +517,53 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
if (upd != null)
{
- if (upd.Online)
+ GridRegion reginfo = m_Scenes[0].GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID,
+ upd.RegionID);
+ if (reginfo != null)
{
- GridRegion reginfo = m_Scenes[0].GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID,
- upd.RegionID);
- if (reginfo != null)
+ Hashtable msgdata = ConvertGridInstantMessageToXMLRPC(im);
+ // Not actually used anymore, left in for compatibility
+ // Remove at next interface change
+ //
+ msgdata["region_handle"] = 0;
+ bool imresult = doIMSending(reginfo, msgdata);
+ if (imresult)
{
- Hashtable msgdata = ConvertGridInstantMessageToXMLRPC(im);
- // Not actually used anymore, left in for compatibility
- // Remove at next interface change
- //
- msgdata["region_handle"] = 0;
- bool imresult = doIMSending(reginfo, msgdata);
- if (imresult)
+ // IM delivery successful, so store the Agent's location in our local cache.
+ lock (m_UserRegionMap)
{
- // IM delivery successful, so store the Agent's location in our local cache.
- lock (m_UserRegionMap)
+ if (m_UserRegionMap.ContainsKey(toAgentID))
{
- if (m_UserRegionMap.ContainsKey(toAgentID))
- {
- m_UserRegionMap[toAgentID] = upd.RegionID;
- }
- else
- {
- m_UserRegionMap.Add(toAgentID, upd.RegionID);
- }
+ m_UserRegionMap[toAgentID] = upd.RegionID;
+ }
+ else
+ {
+ m_UserRegionMap.Add(toAgentID, upd.RegionID);
}
- result(true);
- }
- else
- {
- // try again, but lookup user this time.
- // Warning, this must call the Async version
- // of this method or we'll be making thousands of threads
- // The version within the spawned thread is SendGridInstantMessageViaXMLRPCAsync
- // The version that spawns the thread is SendGridInstantMessageViaXMLRPC
-
- // This is recursive!!!!!
- SendGridInstantMessageViaXMLRPCAsync(im, result,
- upd.RegionID);
}
+ result(true);
}
else
{
- m_log.WarnFormat("[GRID INSTANT MESSAGE]: Unable to find region {0}", upd.RegionID);
- HandleUndeliveredMessage(im, result);
+ // try again, but lookup user this time.
+ // Warning, this must call the Async version
+ // of this method or we'll be making thousands of threads
+ // The version within the spawned thread is SendGridInstantMessageViaXMLRPCAsync
+ // The version that spawns the thread is SendGridInstantMessageViaXMLRPC
+
+ // This is recursive!!!!!
+ SendGridInstantMessageViaXMLRPCAsync(im, result,
+ upd.RegionID);
}
}
else
{
+ m_log.WarnFormat("[GRID INSTANT MESSAGE]: Unable to find region {0}", upd.RegionID);
HandleUndeliveredMessage(im, result);
}
}
else
{
- m_log.WarnFormat("[GRID INSTANT MESSAGE]: Unable to find user {0}", toAgentID);
HandleUndeliveredMessage(im, result);
}
}
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs
index bafad827a6..dd17f3c26b 100644
--- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs
@@ -133,20 +133,14 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
foreach (PresenceInfo pi in status)
{
UUID uuid = new UUID(pi.UserID);
- if (pi.Online)
- {
- if (!online.Contains(uuid))
- {
- online.Add(uuid);
- if (offline.Contains(uuid))
- offline.Remove(uuid);
- }
- }
- else
- {
- if (!online.Contains(uuid) && !offline.Contains(uuid))
- offline.Add(uuid);
- }
+ if (!online.Contains(uuid))
+ online.Add(uuid);
+ }
+ foreach (string s in args)
+ {
+ UUID uuid = new UUID(s);
+ if (!online.Contains(uuid) && !offline.Contains(uuid))
+ offline.Add(uuid);
}
if (online.Count > 0)
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
index 137dfec13b..7d26e3ff5f 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
@@ -245,6 +245,14 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
return;
}
+ // Let's find out if this is a foreign user or a local user
+ UserAccount account = m_aScene.UserAccountService.GetUserAccount(m_aScene.RegionInfo.ScopeID, obj.AgentId);
+ if (account != null)
+ {
+ // local grid user
+ return;
+ }
+
AgentCircuitData aCircuit = ((Scene)(obj.Scene)).AuthenticateHandler.GetAgentCircuitData(obj.CircuitCode);
if (aCircuit.ServiceURLs.ContainsKey("HomeURI"))
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 6ab3c6227b..ca0feed8f4 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -4108,8 +4108,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
UserAccount account = World.UserAccountService.GetUserAccount(World.RegionInfo.ScopeID, uuid);
+ PresenceInfo pinfo = null;
PresenceInfo[] pinfos = World.PresenceService.GetAgents(new string[] { uuid.ToString() });
- PresenceInfo pinfo = PresenceInfo.GetOnlinePresence(pinfos);
+ if (pinfos != null && pinfos.Length > 0)
+ pinfo = pinfos[0];
if (pinfo == null)
return UUID.Zero.ToString();
diff --git a/OpenSim/Services/AssetService/AssetService.cs b/OpenSim/Services/AssetService/AssetService.cs
index 4e512e729c..2114933ec7 100644
--- a/OpenSim/Services/AssetService/AssetService.cs
+++ b/OpenSim/Services/AssetService/AssetService.cs
@@ -181,6 +181,7 @@ namespace OpenSim.Services.AssetService
MainConsole.Instance.Output(String.Format("Description: {0}", asset.Description));
MainConsole.Instance.Output(String.Format("Type: {0}", asset.Type));
MainConsole.Instance.Output(String.Format("Content-type: {0}", asset.Metadata.ContentType));
+ MainConsole.Instance.Output(String.Format("Flags: {0}", asset.Metadata.Flags.ToString()));
for (i = 0 ; i < 5 ; i++)
{
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs
index e48b7de3bf..b86c45c033 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs
@@ -511,20 +511,8 @@ namespace OpenSim.Services.Connectors.SimianGrid
PresenceInfo info = new PresenceInfo();
- info.Online = true;
info.UserID = sessionResponse["UserID"].AsUUID().ToString();
info.RegionID = sessionResponse["SceneID"].AsUUID();
- info.Position = sessionResponse["ScenePosition"].AsVector3();
- info.LookAt = sessionResponse["SceneLookAt"].AsVector3();
-
- if (userResponse != null && userResponse["User"] is OSDMap)
- {
- OSDMap user = (OSDMap)userResponse["User"];
-
- info.Login = user["LastLoginDate"].AsDate();
- info.Logout = user["LastLogoutDate"].AsDate();
- DeserializeLocation(user["HomeLocation"].AsString(), out info.HomeRegionID, out info.HomePosition, out info.HomeLookAt);
- }
return info;
}
diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs
index 3af7ef9d3f..64f7e8aaca 100644
--- a/OpenSim/Services/HypergridService/UserAgentService.cs
+++ b/OpenSim/Services/HypergridService/UserAgentService.cs
@@ -185,6 +185,10 @@ namespace OpenSim.Services.HypergridService
foreach (UUID session in travels)
m_TravelingAgents.Remove(session);
}
+
+ GridUserInfo guinfo = m_GridUserService.GetGridUserInfo(userID.ToString());
+ if (guinfo != null)
+ m_GridUserService.LoggedOut(userID.ToString(), guinfo.LastRegionID, guinfo.LastPosition, guinfo.LastLookAt);
}
// We need to prevent foreign users with the same UUID as a local user
diff --git a/OpenSim/Services/Interfaces/IPresenceService.cs b/OpenSim/Services/Interfaces/IPresenceService.cs
index abbae2c559..8d583fff73 100644
--- a/OpenSim/Services/Interfaces/IPresenceService.cs
+++ b/OpenSim/Services/Interfaces/IPresenceService.cs
@@ -36,14 +36,6 @@ namespace OpenSim.Services.Interfaces
{
public string UserID;
public UUID RegionID;
- public bool Online;
- public DateTime Login;
- public DateTime Logout;
- public Vector3 Position;
- public Vector3 LookAt;
- public UUID HomeRegionID;
- public Vector3 HomePosition;
- public Vector3 HomeLookAt;
public PresenceInfo()
{
@@ -65,26 +57,6 @@ namespace OpenSim.Services.Interfaces
return result;
}
-
- public static PresenceInfo[] GetOnlinePresences(PresenceInfo[] pinfos)
- {
- if (pinfos == null)
- return null;
-
- List lst = new List(pinfos);
- lst = lst.FindAll(delegate(PresenceInfo each) { return each.Online; });
-
- return lst.ToArray();
- }
-
- public static PresenceInfo GetOnlinePresence(PresenceInfo[] pinfos)
- {
- pinfos = GetOnlinePresences(pinfos);
- if (pinfos != null && pinfos.Length >= 1)
- return pinfos[0];
-
- return null;
- }
}
public interface IPresenceService
diff --git a/OpenSim/Services/PresenceService/PresenceService.cs b/OpenSim/Services/PresenceService/PresenceService.cs
index 7e7e98e417..19f636a1c1 100644
--- a/OpenSim/Services/PresenceService/PresenceService.cs
+++ b/OpenSim/Services/PresenceService/PresenceService.cs
@@ -115,10 +115,6 @@ namespace OpenSim.Services.PresenceService
ret.UserID = data.UserID;
ret.RegionID = data.RegionID;
- if (data.Data.ContainsKey("Position"))
- ret.Position = Vector3.Parse(data.Data["Position"]);
- if (data.Data.ContainsKey("LookAt"))
- ret.LookAt = Vector3.Parse(data.Data["LookAt"]);
return ret;
}
@@ -138,8 +134,6 @@ namespace OpenSim.Services.PresenceService
ret.UserID = d.UserID;
ret.RegionID = d.RegionID;
- ret.Position = Vector3.Parse(d.Data["Position"]);
- ret.LookAt = Vector3.Parse(d.Data["LookAt"]);
info.Add(ret);
}
diff --git a/OpenSim/Tests/Clients/Presence/PresenceClient.cs b/OpenSim/Tests/Clients/Presence/PresenceClient.cs
index 0f6b80e209..fd3905adcb 100644
--- a/OpenSim/Tests/Clients/Presence/PresenceClient.cs
+++ b/OpenSim/Tests/Clients/Presence/PresenceClient.cs
@@ -73,8 +73,8 @@ namespace OpenSim.Tests.Clients.PresenceClient
if (pinfo == null)
m_log.InfoFormat("[PRESENCE CLIENT]: Unable to retrieve presence for {0}", user1);
else
- m_log.InfoFormat("[PRESENCE CLIENT]: Presence retrieved correctly: userID={0}; Online={1}; regionID={2}; homeRegion={3}",
- pinfo.UserID, pinfo.Online, pinfo.RegionID, pinfo.HomeRegionID);
+ m_log.InfoFormat("[PRESENCE CLIENT]: Presence retrieved correctly: userID={0}; regionID={1}",
+ pinfo.UserID, pinfo.RegionID);
System.Console.WriteLine("\n");
success = m_Connector.ReportAgent(session1, region1);
@@ -86,8 +86,8 @@ namespace OpenSim.Tests.Clients.PresenceClient
if (pinfo == null)
m_log.InfoFormat("[PRESENCE CLIENT]: Unable to retrieve presence for {0} for second time", user1);
else
- m_log.InfoFormat("[PRESENCE CLIENT]: Presence retrieved correctly: userID={0}; Online={1}; regionID={2}; homeRegion={3}",
- pinfo.UserID, pinfo.Online, pinfo.RegionID, pinfo.HomeRegionID);
+ m_log.InfoFormat("[PRESENCE CLIENT]: Presence retrieved correctly: userID={0}; regionID={2}",
+ pinfo.UserID, pinfo.RegionID);
System.Console.WriteLine("\n");
success = m_Connector.LogoutAgent(session1);
@@ -99,8 +99,8 @@ namespace OpenSim.Tests.Clients.PresenceClient
if (pinfo == null)
m_log.InfoFormat("[PRESENCE CLIENT]: Unable to retrieve presence for {0} for fourth time", user1);
else
- m_log.InfoFormat("[PRESENCE CLIENT]: Presence retrieved correctly: userID={0}; Online={1}; regionID={2}; homeRegion={3}",
- pinfo.UserID, pinfo.Online, pinfo.RegionID, pinfo.HomeRegionID);
+ m_log.InfoFormat("[PRESENCE CLIENT]: Presence retrieved correctly: userID={0}; regionID={1}",
+ pinfo.UserID, pinfo.RegionID);
System.Console.WriteLine("\n");
success = m_Connector.ReportAgent(session1, UUID.Random());
diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini
index 130e210a77..32b240b8b5 100644
--- a/bin/config-include/StandaloneHypergrid.ini
+++ b/bin/config-include/StandaloneHypergrid.ini
@@ -77,6 +77,9 @@
GridService = "OpenSim.Services.GridService.dll:GridService"
InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
+[GridUserService]
+ LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService"
+
[FriendsService]
LocalServiceModule = "OpenSim.Services.FriendsService.dll"
ConnectionString = "URI=file:friends.db,version=3"