diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 12 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneBase.cs | 13 |
2 files changed, 25 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index a3bd388..d187377 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3382,6 +3382,18 @@ namespace OpenSim.Region.Framework.Scenes | |||
3382 | } | 3382 | } |
3383 | } | 3383 | } |
3384 | 3384 | ||
3385 | /// <summary> | ||
3386 | /// Remove the given client from the scene. | ||
3387 | /// </summary> | ||
3388 | /// <remarks> | ||
3389 | /// Only clientstack code should call this directly. All other code should call IncomingCloseAgent() instead | ||
3390 | /// to properly operate the state machine and avoid race conditions with other close requests (such as directly | ||
3391 | /// from viewers). | ||
3392 | /// </remarks> | ||
3393 | /// <param name='agentID'>ID of agent to close</param> | ||
3394 | /// <param name='closeChildAgents'> | ||
3395 | /// Close the neighbour child agents associated with this client. | ||
3396 | /// </param> | ||
3385 | public override void RemoveClient(UUID agentID, bool closeChildAgents) | 3397 | public override void RemoveClient(UUID agentID, bool closeChildAgents) |
3386 | { | 3398 | { |
3387 | AgentCircuitData acd = m_authenticateHandler.GetAgentCircuitData(agentID); | 3399 | AgentCircuitData acd = m_authenticateHandler.GetAgentCircuitData(agentID); |
diff --git a/OpenSim/Region/Framework/Scenes/SceneBase.cs b/OpenSim/Region/Framework/Scenes/SceneBase.cs index d2097ea..5252b96 100644 --- a/OpenSim/Region/Framework/Scenes/SceneBase.cs +++ b/OpenSim/Region/Framework/Scenes/SceneBase.cs | |||
@@ -217,6 +217,19 @@ namespace OpenSim.Region.Framework.Scenes | |||
217 | #region Add/Remove Agent/Avatar | 217 | #region Add/Remove Agent/Avatar |
218 | 218 | ||
219 | public abstract ISceneAgent AddNewClient(IClientAPI client, PresenceType type); | 219 | public abstract ISceneAgent AddNewClient(IClientAPI client, PresenceType type); |
220 | |||
221 | /// <summary> | ||
222 | /// Remove the given client from the scene. | ||
223 | /// </summary> | ||
224 | /// <remarks> | ||
225 | /// Only clientstack code should call this directly. All other code should call IncomingCloseAgent() instead | ||
226 | /// to properly operate the state machine and avoid race conditions with other close requests (such as directly | ||
227 | /// from viewers). | ||
228 | /// </remarks> | ||
229 | /// <param name='agentID'>ID of agent to close</param> | ||
230 | /// <param name='closeChildAgents'> | ||
231 | /// Close the neighbour child agents associated with this client. | ||
232 | /// </param> | ||
220 | public abstract void RemoveClient(UUID agentID, bool closeChildAgents); | 233 | public abstract void RemoveClient(UUID agentID, bool closeChildAgents); |
221 | 234 | ||
222 | public bool TryGetScenePresence(UUID agentID, out object scenePresence) | 235 | public bool TryGetScenePresence(UUID agentID, out object scenePresence) |