diff options
Diffstat (limited to 'OpenSim/Server/Handlers')
-rw-r--r-- | OpenSim/Server/Handlers/Simulation/AgentHandlers.cs | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs index 0e6710d..7ab7dea 100644 --- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs +++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs | |||
@@ -262,7 +262,6 @@ namespace OpenSim.Server.Handlers.Simulation | |||
262 | resp["version"] = OSD.FromString(legacyVersion); | 262 | resp["version"] = OSD.FromString(legacyVersion); |
263 | resp["negotiated_inbound_version"] = OSD.FromReal(inboundVersion); | 263 | resp["negotiated_inbound_version"] = OSD.FromReal(inboundVersion); |
264 | resp["negotiated_outbound_version"] = OSD.FromReal(outboundVersion); | 264 | resp["negotiated_outbound_version"] = OSD.FromReal(outboundVersion); |
265 | resp["variable_wearables_count_supported"] = OSD.FromBoolean(true); | ||
266 | 265 | ||
267 | OSDArray featuresWanted = new OSDArray(); | 266 | OSDArray featuresWanted = new OSDArray(); |
268 | foreach (UUID feature in features) | 267 | foreach (UUID feature in features) |
@@ -461,6 +460,7 @@ namespace OpenSim.Server.Handlers.Simulation | |||
461 | // This is the meaning of POST agent | 460 | // This is the meaning of POST agent |
462 | //m_regionClient.AdjustUserInformation(aCircuit); | 461 | //m_regionClient.AdjustUserInformation(aCircuit); |
463 | //bool result = m_SimulationService.CreateAgent(destination, aCircuit, teleportFlags, out reason); | 462 | //bool result = m_SimulationService.CreateAgent(destination, aCircuit, teleportFlags, out reason); |
463 | |||
464 | bool result = CreateAgent(source, gatekeeper, destination, aCircuit, data.flags, data.fromLogin, out reason); | 464 | bool result = CreateAgent(source, gatekeeper, destination, aCircuit, data.flags, data.fromLogin, out reason); |
465 | 465 | ||
466 | resp["reason"] = OSD.FromString(reason); | 466 | resp["reason"] = OSD.FromString(reason); |
@@ -539,12 +539,15 @@ namespace OpenSim.Server.Handlers.Simulation | |||
539 | AgentCircuitData aCircuit, uint teleportFlags, bool fromLogin, out string reason) | 539 | AgentCircuitData aCircuit, uint teleportFlags, bool fromLogin, out string reason) |
540 | { | 540 | { |
541 | reason = String.Empty; | 541 | reason = String.Empty; |
542 | // The data and protocols are already defined so this is just a dummy to satisfy the interface | ||
543 | // TODO: make this end-to-end | ||
544 | EntityTransferContext ctx = new EntityTransferContext(); | ||
542 | if ((teleportFlags & (uint)TeleportFlags.ViaLogin) == 0) | 545 | if ((teleportFlags & (uint)TeleportFlags.ViaLogin) == 0) |
543 | { | 546 | { |
544 | Util.FireAndForget(x => | 547 | Util.FireAndForget(x => |
545 | { | 548 | { |
546 | string r; | 549 | string r; |
547 | m_SimulationService.CreateAgent(source, destination, aCircuit, teleportFlags, out r); | 550 | m_SimulationService.CreateAgent(source, destination, aCircuit, teleportFlags, ctx, out r); |
548 | m_log.DebugFormat("[AGENT HANDLER]: ASYNC CreateAgent {0}", r); | 551 | m_log.DebugFormat("[AGENT HANDLER]: ASYNC CreateAgent {0}", r); |
549 | }); | 552 | }); |
550 | 553 | ||
@@ -553,7 +556,7 @@ namespace OpenSim.Server.Handlers.Simulation | |||
553 | else | 556 | else |
554 | { | 557 | { |
555 | 558 | ||
556 | bool ret = m_SimulationService.CreateAgent(source, destination, aCircuit, teleportFlags, out reason); | 559 | bool ret = m_SimulationService.CreateAgent(source, destination, aCircuit, teleportFlags, ctx, out reason); |
557 | m_log.DebugFormat("[AGENT HANDLER]: SYNC CreateAgent {0} {1}", ret.ToString(), reason); | 560 | m_log.DebugFormat("[AGENT HANDLER]: SYNC CreateAgent {0} {1}", ret.ToString(), reason); |
558 | return ret; | 561 | return ret; |
559 | } | 562 | } |
@@ -657,6 +660,9 @@ namespace OpenSim.Server.Handlers.Simulation | |||
657 | 660 | ||
658 | protected void DoAgentPut(Hashtable request, Hashtable responsedata) | 661 | protected void DoAgentPut(Hashtable request, Hashtable responsedata) |
659 | { | 662 | { |
663 | // TODO: Encode the ENtityTransferContext | ||
664 | EntityTransferContext ctx = new EntityTransferContext(); | ||
665 | |||
660 | OSDMap args = Utils.GetOSDMap((string)request["body"]); | 666 | OSDMap args = Utils.GetOSDMap((string)request["body"]); |
661 | if (args == null) | 667 | if (args == null) |
662 | { | 668 | { |
@@ -699,7 +705,7 @@ namespace OpenSim.Server.Handlers.Simulation | |||
699 | AgentData agent = new AgentData(); | 705 | AgentData agent = new AgentData(); |
700 | try | 706 | try |
701 | { | 707 | { |
702 | agent.Unpack(args, m_SimulationService.GetScene(destination.RegionID)); | 708 | agent.Unpack(args, m_SimulationService.GetScene(destination.RegionID), ctx); |
703 | } | 709 | } |
704 | catch (Exception ex) | 710 | catch (Exception ex) |
705 | { | 711 | { |
@@ -718,7 +724,7 @@ namespace OpenSim.Server.Handlers.Simulation | |||
718 | AgentPosition agent = new AgentPosition(); | 724 | AgentPosition agent = new AgentPosition(); |
719 | try | 725 | try |
720 | { | 726 | { |
721 | agent.Unpack(args, m_SimulationService.GetScene(destination.RegionID)); | 727 | agent.Unpack(args, m_SimulationService.GetScene(destination.RegionID), ctx); |
722 | } | 728 | } |
723 | catch (Exception ex) | 729 | catch (Exception ex) |
724 | { | 730 | { |
@@ -739,7 +745,10 @@ namespace OpenSim.Server.Handlers.Simulation | |||
739 | // subclasses can override this | 745 | // subclasses can override this |
740 | protected virtual bool UpdateAgent(GridRegion destination, AgentData agent) | 746 | protected virtual bool UpdateAgent(GridRegion destination, AgentData agent) |
741 | { | 747 | { |
742 | return m_SimulationService.UpdateAgent(destination, agent); | 748 | // The data and protocols are already defined so this is just a dummy to satisfy the interface |
749 | // TODO: make this end-to-end | ||
750 | EntityTransferContext ctx = new EntityTransferContext(); | ||
751 | return m_SimulationService.UpdateAgent(destination, agent, ctx); | ||
743 | } | 752 | } |
744 | } | 753 | } |
745 | 754 | ||