mirror of
https://github.com/opensim/opensim.git
synced 2026-08-09 18:55:58 +08:00
* Implements UserServer logoff in a few situations
* User tries to log-in but is already logged in. Userserver will send message to simulator user was in to log the user out there. * From the UserServer, admin types 'logoff-user firstname lastname message'. * Some regions may not get the message because they're not updated yet.
This commit is contained in:
@@ -58,6 +58,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
public event RegionUp OnRegionUp;
|
||||
public event ChildAgentUpdate OnChildAgentUpdate;
|
||||
public event RemoveKnownRegionsFromAvatarList OnRemoveKnownRegionFromAvatar;
|
||||
public event LogOffUser OnLogOffUser;
|
||||
|
||||
private AgentCrossing handlerAvatarCrossingIntoRegion = null; // OnAvatarCrossingIntoRegion;
|
||||
private ExpectUserDelegate handlerExpectUser = null; // OnExpectUser;
|
||||
@@ -67,6 +68,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
private RegionUp handlerRegionUp = null; // OnRegionUp;
|
||||
private ChildAgentUpdate handlerChildAgentUpdate = null; // OnChildAgentUpdate;
|
||||
private RemoveKnownRegionsFromAvatarList handlerRemoveKnownRegionFromAvatar = null; // OnRemoveKnownRegionFromAvatar;
|
||||
private LogOffUser handlerLogOffUser = null;
|
||||
|
||||
public KillObjectDelegate KillObject;
|
||||
public string _debugRegionName = String.Empty;
|
||||
@@ -105,6 +107,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
regionCommsHost.OnCloseAgentConnection += CloseConnection;
|
||||
regionCommsHost.OnRegionUp += newRegionUp;
|
||||
regionCommsHost.OnChildAgentUpdate += ChildAgentUpdate;
|
||||
regionCommsHost.OnLogOffUser += GridLogOffUser;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -121,6 +124,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
{
|
||||
if (regionCommsHost != null)
|
||||
{
|
||||
regionCommsHost.OnLogOffUser -= GridLogOffUser;
|
||||
regionCommsHost.OnChildAgentUpdate -= ChildAgentUpdate;
|
||||
regionCommsHost.OnRegionUp -= newRegionUp;
|
||||
regionCommsHost.OnExpectUser -= NewUserConnection;
|
||||
@@ -150,6 +154,15 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
}
|
||||
}
|
||||
|
||||
protected void GridLogOffUser(ulong regionHandle, LLUUID AgentID, LLUUID RegionSecret, string message)
|
||||
{
|
||||
handlerLogOffUser = OnLogOffUser;
|
||||
if (handlerLogOffUser != null)
|
||||
{
|
||||
handlerLogOffUser(regionHandle, AgentID, RegionSecret, message);
|
||||
}
|
||||
}
|
||||
|
||||
protected bool newRegionUp(RegionInfo region)
|
||||
{
|
||||
handlerRegionUp = OnRegionUp;
|
||||
|
||||
Reference in New Issue
Block a user