aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-05-31 12:18:29 +0000
committerTeravus Ovares2008-05-31 12:18:29 +0000
commitfebe78d06249cd4d36a86e97610dd45ab518a757 (patch)
tree7b9733fc14045f09e874440b923cfe443b781b6a /OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
parentMantis#1425. Thank you kindly, Melanie for a patch that: (diff)
downloadopensim-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.cs13
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;