diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-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 6323a88..4fa4a7c 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3540,6 +3540,18 @@ namespace OpenSim.Region.Framework.Scenes | |||
3540 | } | 3540 | } |
3541 | } | 3541 | } |
3542 | 3542 | ||
3543 | /// <summary> | ||
3544 | /// Remove the given client from the scene. | ||
3545 | /// </summary> | ||
3546 | /// <remarks> | ||
3547 | /// Only clientstack code should call this directly. All other code should call IncomingCloseAgent() instead | ||
3548 | /// to properly operate the state machine and avoid race conditions with other close requests (such as directly | ||
3549 | /// from viewers). | ||
3550 | /// </remarks> | ||
3551 | /// <param name='agentID'>ID of agent to close</param> | ||
3552 | /// <param name='closeChildAgents'> | ||
3553 | /// Close the neighbour child agents associated with this client. | ||
3554 | /// </param> | ||
3543 | public override void RemoveClient(UUID agentID, bool closeChildAgents) | 3555 | public override void RemoveClient(UUID agentID, bool closeChildAgents) |
3544 | { | 3556 | { |
3545 | AgentCircuitData acd = m_authenticateHandler.GetAgentCircuitData(agentID); | 3557 | AgentCircuitData acd = m_authenticateHandler.GetAgentCircuitData(agentID); |
diff --git a/OpenSim/Region/Framework/Scenes/SceneBase.cs b/OpenSim/Region/Framework/Scenes/SceneBase.cs index 4eef162..1dac676 100644 --- a/OpenSim/Region/Framework/Scenes/SceneBase.cs +++ b/OpenSim/Region/Framework/Scenes/SceneBase.cs | |||
@@ -218,6 +218,19 @@ namespace OpenSim.Region.Framework.Scenes | |||
218 | #region Add/Remove Agent/Avatar | 218 | #region Add/Remove Agent/Avatar |
219 | 219 | ||
220 | public abstract ISceneAgent AddNewClient(IClientAPI client, PresenceType type); | 220 | public abstract ISceneAgent AddNewClient(IClientAPI client, PresenceType type); |
221 | |||
222 | /// <summary> | ||
223 | /// Remove the given client from the scene. | ||
224 | /// </summary> | ||
225 | /// <remarks> | ||
226 | /// Only clientstack code should call this directly. All other code should call IncomingCloseAgent() instead | ||
227 | /// to properly operate the state machine and avoid race conditions with other close requests (such as directly | ||
228 | /// from viewers). | ||
229 | /// </remarks> | ||
230 | /// <param name='agentID'>ID of agent to close</param> | ||
231 | /// <param name='closeChildAgents'> | ||
232 | /// Close the neighbour child agents associated with this client. | ||
233 | /// </param> | ||
221 | public abstract void RemoveClient(UUID agentID, bool closeChildAgents); | 234 | public abstract void RemoveClient(UUID agentID, bool closeChildAgents); |
222 | 235 | ||
223 | public bool TryGetScenePresence(UUID agentID, out object scenePresence) | 236 | public bool TryGetScenePresence(UUID agentID, out object scenePresence) |