aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications/LoginService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/Communications/LoginService.cs')
-rw-r--r--OpenSim/Framework/Communications/LoginService.cs15
1 files changed, 14 insertions, 1 deletions
diff --git a/OpenSim/Framework/Communications/LoginService.cs b/OpenSim/Framework/Communications/LoginService.cs
index bd0fa53..08b071f 100644
--- a/OpenSim/Framework/Communications/LoginService.cs
+++ b/OpenSim/Framework/Communications/LoginService.cs
@@ -79,7 +79,15 @@ namespace OpenSim.Framework.Communications
79 /// <param name="response">The existing response</param> 79 /// <param name="response">The existing response</param>
80 /// <param name="theUser">The user profile</param> 80 /// <param name="theUser">The user profile</param>
81 public abstract void CustomiseResponse(LoginResponse response, UserProfileData theUser, string startLocationRequest); 81 public abstract void CustomiseResponse(LoginResponse response, UserProfileData theUser, string startLocationRequest);
82
83 /// <summary>
84 /// If the user is already logged in, try to notify the region that the user they've got is dead.
85 /// </summary>
86 /// <param name="theUser"></param>
87 public virtual void LogOffUser(UserProfileData theUser, string message)
88 {
82 89
90 }
83 /// <summary> 91 /// <summary>
84 /// Get the initial login inventory skeleton (in other words, the folder structure) for the given user. 92 /// Get the initial login inventory skeleton (in other words, the folder structure) for the given user.
85 /// </summary> 93 /// </summary>
@@ -196,9 +204,14 @@ namespace OpenSim.Framework.Communications
196 // because of some problem, for instance, the crashment of server or client, 204 // because of some problem, for instance, the crashment of server or client,
197 // the user cannot log in any longer. 205 // the user cannot log in any longer.
198 userProfile.CurrentAgent.AgentOnline = false; 206 userProfile.CurrentAgent.AgentOnline = false;
199 m_userManager.CommitAgent(ref userProfile);
200 207
208 m_userManager.CommitAgent(ref userProfile);
209
210 // try to tell the region that their user is dead.
211 LogOffUser(userProfile, "You were logged off because you logged in from another location");
212
201 // Reject the login 213 // Reject the login
214
202 215
203 m_log.InfoFormat( 216 m_log.InfoFormat(
204 "[LOGIN END]: Notifying user {0} {1} that they are already logged in", 217 "[LOGIN END]: Notifying user {0} {1} that they are already logged in",