aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Services')
-rw-r--r--OpenSim/Services/Connectors/GridUser/GridUserServiceConnector.cs2
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs6
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs2
-rw-r--r--OpenSim/Services/HypergridService/UserAgentService.cs2
-rw-r--r--OpenSim/Services/Interfaces/IGridUserService.cs12
-rw-r--r--OpenSim/Services/UserAccountService/GridUserService.cs2
6 files changed, 16 insertions, 10 deletions
diff --git a/OpenSim/Services/Connectors/GridUser/GridUserServiceConnector.cs b/OpenSim/Services/Connectors/GridUser/GridUserServiceConnector.cs
index 48d2939..b3ea865 100644
--- a/OpenSim/Services/Connectors/GridUser/GridUserServiceConnector.cs
+++ b/OpenSim/Services/Connectors/GridUser/GridUserServiceConnector.cs
@@ -101,7 +101,7 @@ namespace OpenSim.Services.Connectors
101 101
102 } 102 }
103 103
104 public bool LoggedOut(string userID, UUID region, Vector3 position, Vector3 lookat) 104 public bool LoggedOut(string userID, UUID sessionID, UUID region, Vector3 position, Vector3 lookat)
105 { 105 {
106 Dictionary<string, object> sendData = new Dictionary<string, object>(); 106 Dictionary<string, object> sendData = new Dictionary<string, object>();
107 //sendData["SCOPEID"] = scopeID.ToString(); 107 //sendData["SCOPEID"] = scopeID.ToString();
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs
index c89c81a..b8703c6 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs
@@ -40,7 +40,6 @@ namespace OpenSim.Services.Connectors.SimianGrid
40 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 40 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
41 41
42 private IGridUserService m_GridUserService; 42 private IGridUserService m_GridUserService;
43 private Scene m_aScene;
44 43
45 public SimianActivityDetector(IGridUserService guService) 44 public SimianActivityDetector(IGridUserService guService)
46 { 45 {
@@ -55,9 +54,6 @@ namespace OpenSim.Services.Connectors.SimianGrid
55 scene.EventManager.OnMakeRootAgent += OnMakeRootAgent; 54 scene.EventManager.OnMakeRootAgent += OnMakeRootAgent;
56 scene.EventManager.OnNewClient += OnNewClient; 55 scene.EventManager.OnNewClient += OnNewClient;
57 scene.EventManager.OnAvatarEnteringNewParcel += OnEnteringNewParcel; 56 scene.EventManager.OnAvatarEnteringNewParcel += OnEnteringNewParcel;
58
59 if (m_aScene == null)
60 m_aScene = scene;
61 } 57 }
62 58
63 public void RemoveRegion(Scene scene) 59 public void RemoveRegion(Scene scene)
@@ -102,7 +98,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
102 } 98 }
103 99
104 m_log.DebugFormat("[SIMIAN ACTIVITY DETECTOR]: Detected client logout {0} in {1}", client.AgentId, client.Scene.RegionInfo.RegionName); 100 m_log.DebugFormat("[SIMIAN ACTIVITY DETECTOR]: Detected client logout {0} in {1}", client.AgentId, client.Scene.RegionInfo.RegionName);
105 m_GridUserService.LoggedOut(client.AgentId.ToString(), client.Scene.RegionInfo.RegionID, position, lookat); 101 m_GridUserService.LoggedOut(client.AgentId.ToString(), client.SessionId, client.Scene.RegionInfo.RegionID, position, lookat);
106 } 102 }
107 } 103 }
108 104
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs
index fa51c9a..a41c6ad 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs
@@ -260,7 +260,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
260 return null; 260 return null;
261 } 261 }
262 262
263 public bool LoggedOut(string userID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt) 263 public bool LoggedOut(string userID, UUID sessionID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt)
264 { 264 {
265 // Save our last position as user data 265 // Save our last position as user data
266 NameValueCollection requestArgs = new NameValueCollection 266 NameValueCollection requestArgs = new NameValueCollection
diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs
index 8c3be70..8acd618 100644
--- a/OpenSim/Services/HypergridService/UserAgentService.cs
+++ b/OpenSim/Services/HypergridService/UserAgentService.cs
@@ -232,7 +232,7 @@ namespace OpenSim.Services.HypergridService
232 232
233 GridUserInfo guinfo = m_GridUserService.GetGridUserInfo(userID.ToString()); 233 GridUserInfo guinfo = m_GridUserService.GetGridUserInfo(userID.ToString());
234 if (guinfo != null) 234 if (guinfo != null)
235 m_GridUserService.LoggedOut(userID.ToString(), guinfo.LastRegionID, guinfo.LastPosition, guinfo.LastLookAt); 235 m_GridUserService.LoggedOut(userID.ToString(), sessionID, guinfo.LastRegionID, guinfo.LastPosition, guinfo.LastLookAt);
236 } 236 }
237 237
238 // We need to prevent foreign users with the same UUID as a local user 238 // We need to prevent foreign users with the same UUID as a local user
diff --git a/OpenSim/Services/Interfaces/IGridUserService.cs b/OpenSim/Services/Interfaces/IGridUserService.cs
index dfb79a4..6613ae7 100644
--- a/OpenSim/Services/Interfaces/IGridUserService.cs
+++ b/OpenSim/Services/Interfaces/IGridUserService.cs
@@ -105,7 +105,17 @@ namespace OpenSim.Services.Interfaces
105 public interface IGridUserService 105 public interface IGridUserService
106 { 106 {
107 GridUserInfo LoggedIn(string userID); 107 GridUserInfo LoggedIn(string userID);
108 bool LoggedOut(string userID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt); 108
109 /// <summary>
110 /// Informs the grid that a user is logged out and to remove any session data for them
111 /// </summary>
112 /// <param name="userID">Ignore if your connector does not use userID for logouts</param>
113 /// <param name="sessionID">Ignore if your connector does not use sessionID for logouts</param>
114 /// <param name="regionID">RegionID where the user was last located</param>
115 /// <param name="lastPosition">Last region-relative position of the user</param>
116 /// <param name="lastLookAt">Last normalized look direction for the user</param>
117 /// <returns>True if the logout request was successfully processed, otherwise false</returns>
118 bool LoggedOut(string userID, UUID sessionID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt);
109 119
110 bool SetHome(string userID, UUID homeID, Vector3 homePosition, Vector3 homeLookAt); 120 bool SetHome(string userID, UUID homeID, Vector3 homePosition, Vector3 homeLookAt);
111 121
diff --git a/OpenSim/Services/UserAccountService/GridUserService.cs b/OpenSim/Services/UserAccountService/GridUserService.cs
index 00a1ae2..9b18915 100644
--- a/OpenSim/Services/UserAccountService/GridUserService.cs
+++ b/OpenSim/Services/UserAccountService/GridUserService.cs
@@ -92,7 +92,7 @@ namespace OpenSim.Services.UserAccountService
92 return GetGridUserInfo(userID); 92 return GetGridUserInfo(userID);
93 } 93 }
94 94
95 public bool LoggedOut(string userID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt) 95 public bool LoggedOut(string userID, UUID sessionID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt)
96 { 96 {
97 m_log.DebugFormat("[GRID USER SERVICE]: User {0} is offline", userID); 97 m_log.DebugFormat("[GRID USER SERVICE]: User {0} is offline", userID);
98 GridUserData d = m_Database.Get(userID); 98 GridUserData d = m_Database.Get(userID);