diff options
Root agent retrieval via http/REST. This is a pull, the caller gets the agent. This is not used by the regions yet, but it may be a better alternative to transfer agents even when that is done by the regions. The data is still trivial; soon it will have attachments, scripts and script state. Also, authorization tokens still to come. Serialization using OSD/json, as the other methods.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 9bec481..a60f7d8 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2549,6 +2549,19 @@ namespace OpenSim.Region.Framework.Scenes | |||
2549 | 2549 | ||
2550 | } | 2550 | } |
2551 | 2551 | ||
2552 | public virtual bool IncomingRetrieveRootAgent(UUID id, out IAgentData agent) | ||
2553 | { | ||
2554 | agent = null; | ||
2555 | ScenePresence sp = GetScenePresence(id); | ||
2556 | if ((sp != null) && (!sp.IsChildAgent)) | ||
2557 | { | ||
2558 | sp.IsChildAgent = true; | ||
2559 | return sp.CopyAgent(out agent); | ||
2560 | } | ||
2561 | |||
2562 | return false; | ||
2563 | } | ||
2564 | |||
2552 | public virtual bool IncomingReleaseAgent(UUID id) | 2565 | public virtual bool IncomingReleaseAgent(UUID id) |
2553 | { | 2566 | { |
2554 | return m_sceneGridService.ReleaseAgent(id); | 2567 | return m_sceneGridService.ReleaseAgent(id); |