diff options
author | Teravus Ovares | 2008-05-31 12:18:29 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-05-31 12:18:29 +0000 |
commit | febe78d06249cd4d36a86e97610dd45ab518a757 (patch) | |
tree | 7b9733fc14045f09e874440b923cfe443b781b6a /OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | |
parent | Mantis#1425. Thank you kindly, Melanie for a patch that: (diff) | |
download | opensim-SC-febe78d06249cd4d36a86e97610dd45ab518a757.zip opensim-SC-febe78d06249cd4d36a86e97610dd45ab518a757.tar.gz opensim-SC-febe78d06249cd4d36a86e97610dd45ab518a757.tar.bz2 opensim-SC-febe78d06249cd4d36a86e97610dd45ab518a757.tar.xz |
* 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.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs index d2d75e8..e841ad4 100644 --- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | |||
@@ -58,6 +58,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
58 | public event RegionUp OnRegionUp; | 58 | public event RegionUp OnRegionUp; |
59 | public event ChildAgentUpdate OnChildAgentUpdate; | 59 | public event ChildAgentUpdate OnChildAgentUpdate; |
60 | public event RemoveKnownRegionsFromAvatarList OnRemoveKnownRegionFromAvatar; | 60 | public event RemoveKnownRegionsFromAvatarList OnRemoveKnownRegionFromAvatar; |
61 | public event LogOffUser OnLogOffUser; | ||
61 | 62 | ||
62 | private AgentCrossing handlerAvatarCrossingIntoRegion = null; // OnAvatarCrossingIntoRegion; | 63 | private AgentCrossing handlerAvatarCrossingIntoRegion = null; // OnAvatarCrossingIntoRegion; |
63 | private ExpectUserDelegate handlerExpectUser = null; // OnExpectUser; | 64 | private ExpectUserDelegate handlerExpectUser = null; // OnExpectUser; |
@@ -67,6 +68,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
67 | private RegionUp handlerRegionUp = null; // OnRegionUp; | 68 | private RegionUp handlerRegionUp = null; // OnRegionUp; |
68 | private ChildAgentUpdate handlerChildAgentUpdate = null; // OnChildAgentUpdate; | 69 | private ChildAgentUpdate handlerChildAgentUpdate = null; // OnChildAgentUpdate; |
69 | private RemoveKnownRegionsFromAvatarList handlerRemoveKnownRegionFromAvatar = null; // OnRemoveKnownRegionFromAvatar; | 70 | private RemoveKnownRegionsFromAvatarList handlerRemoveKnownRegionFromAvatar = null; // OnRemoveKnownRegionFromAvatar; |
71 | private LogOffUser handlerLogOffUser = null; | ||
70 | 72 | ||
71 | public KillObjectDelegate KillObject; | 73 | public KillObjectDelegate KillObject; |
72 | public string _debugRegionName = String.Empty; | 74 | public string _debugRegionName = String.Empty; |
@@ -105,6 +107,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
105 | regionCommsHost.OnCloseAgentConnection += CloseConnection; | 107 | regionCommsHost.OnCloseAgentConnection += CloseConnection; |
106 | regionCommsHost.OnRegionUp += newRegionUp; | 108 | regionCommsHost.OnRegionUp += newRegionUp; |
107 | regionCommsHost.OnChildAgentUpdate += ChildAgentUpdate; | 109 | regionCommsHost.OnChildAgentUpdate += ChildAgentUpdate; |
110 | regionCommsHost.OnLogOffUser += GridLogOffUser; | ||
108 | } | 111 | } |
109 | else | 112 | else |
110 | { | 113 | { |
@@ -121,6 +124,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
121 | { | 124 | { |
122 | if (regionCommsHost != null) | 125 | if (regionCommsHost != null) |
123 | { | 126 | { |
127 | regionCommsHost.OnLogOffUser -= GridLogOffUser; | ||
124 | regionCommsHost.OnChildAgentUpdate -= ChildAgentUpdate; | 128 | regionCommsHost.OnChildAgentUpdate -= ChildAgentUpdate; |
125 | regionCommsHost.OnRegionUp -= newRegionUp; | 129 | regionCommsHost.OnRegionUp -= newRegionUp; |
126 | regionCommsHost.OnExpectUser -= NewUserConnection; | 130 | regionCommsHost.OnExpectUser -= NewUserConnection; |
@@ -150,6 +154,15 @@ namespace OpenSim.Region.Environment.Scenes | |||
150 | } | 154 | } |
151 | } | 155 | } |
152 | 156 | ||
157 | protected void GridLogOffUser(ulong regionHandle, LLUUID AgentID, LLUUID RegionSecret, string message) | ||
158 | { | ||
159 | handlerLogOffUser = OnLogOffUser; | ||
160 | if (handlerLogOffUser != null) | ||
161 | { | ||
162 | handlerLogOffUser(regionHandle, AgentID, RegionSecret, message); | ||
163 | } | ||
164 | } | ||
165 | |||
153 | protected bool newRegionUp(RegionInfo region) | 166 | protected bool newRegionUp(RegionInfo region) |
154 | { | 167 | { |
155 | handlerRegionUp = OnRegionUp; | 168 | handlerRegionUp = OnRegionUp; |