diff options
author | Melanie Thielker | 2015-08-20 00:18:45 +0200 |
---|---|---|
committer | Melanie Thielker | 2015-08-20 00:18:45 +0200 |
commit | 028506cf3cecb3666b0c185d9c25e21bab968c93 (patch) | |
tree | 22f544d4966ba2c71a7c86122d7f8efd525a2790 /OpenSim/Services | |
parent | Merge branch 'master' of opensimulator.org:/var/git/opensim (diff) | |
download | opensim-SC_OLD-028506cf3cecb3666b0c185d9c25e21bab968c93.zip opensim-SC_OLD-028506cf3cecb3666b0c185d9c25e21bab968c93.tar.gz opensim-SC_OLD-028506cf3cecb3666b0c185d9c25e21bab968c93.tar.bz2 opensim-SC_OLD-028506cf3cecb3666b0c185d9c25e21bab968c93.tar.xz |
Partial plumbing for the agent stateful module features negotiation
Diffstat (limited to 'OpenSim/Services')
4 files changed, 12 insertions, 4 deletions
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index b6fde72..a6f90b4 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | |||
@@ -282,7 +282,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
282 | } | 282 | } |
283 | 283 | ||
284 | 284 | ||
285 | public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string myversion, out string version, out string reason) | 285 | public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string myversion, List<UUID> featuresAvailable, out string version, out string reason) |
286 | { | 286 | { |
287 | reason = "Failed to contact destination"; | 287 | reason = "Failed to contact destination"; |
288 | version = "Unknown"; | 288 | version = "Unknown"; |
@@ -299,6 +299,13 @@ namespace OpenSim.Services.Connectors.Simulation | |||
299 | request.Add("viaTeleport", OSD.FromBoolean(viaTeleport)); | 299 | request.Add("viaTeleport", OSD.FromBoolean(viaTeleport)); |
300 | request.Add("position", OSD.FromString(position.ToString())); | 300 | request.Add("position", OSD.FromString(position.ToString())); |
301 | request.Add("my_version", OSD.FromString(myversion)); | 301 | request.Add("my_version", OSD.FromString(myversion)); |
302 | |||
303 | OSDArray features = new OSDArray(); | ||
304 | foreach (UUID feature in featuresAvailable) | ||
305 | features.Add(OSD.FromString(feature.ToString())); | ||
306 | |||
307 | request.Add("features", features); | ||
308 | |||
302 | if (agentHomeURI != null) | 309 | if (agentHomeURI != null) |
303 | request.Add("agent_home_uri", OSD.FromString(agentHomeURI)); | 310 | request.Add("agent_home_uri", OSD.FromString(agentHomeURI)); |
304 | 311 | ||
diff --git a/OpenSim/Services/HypergridService/GatekeeperService.cs b/OpenSim/Services/HypergridService/GatekeeperService.cs index e0038b4..44b26d5 100644 --- a/OpenSim/Services/HypergridService/GatekeeperService.cs +++ b/OpenSim/Services/HypergridService/GatekeeperService.cs | |||
@@ -453,7 +453,7 @@ namespace OpenSim.Services.HypergridService | |||
453 | 453 | ||
454 | if (!m_SimulationService.QueryAccess( | 454 | if (!m_SimulationService.QueryAccess( |
455 | destination, aCircuit.AgentID, aCircuit.ServiceURLs["HomeURI"].ToString(), | 455 | destination, aCircuit.AgentID, aCircuit.ServiceURLs["HomeURI"].ToString(), |
456 | true, aCircuit.startpos, "SIMULATION/0.3", out version, out reason)) | 456 | true, aCircuit.startpos, "SIMULATION/0.3", new List<UUID>(), out version, out reason)) |
457 | return false; | 457 | return false; |
458 | 458 | ||
459 | return m_SimulationService.CreateAgent(source, destination, aCircuit, (uint)loginFlag, out reason); | 459 | return m_SimulationService.CreateAgent(source, destination, aCircuit, (uint)loginFlag, out reason); |
diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index ef014f9..42c414d 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs | |||
@@ -26,6 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | ||
29 | using OpenSim.Framework; | 30 | using OpenSim.Framework; |
30 | using OpenMetaverse; | 31 | using OpenMetaverse; |
31 | 32 | ||
@@ -91,7 +92,7 @@ namespace OpenSim.Services.Interfaces | |||
91 | /// <param name="version">Version that the target simulator is running</param> | 92 | /// <param name="version">Version that the target simulator is running</param> |
92 | /// <param name="reason">[out] Optional error message</param> | 93 | /// <param name="reason">[out] Optional error message</param> |
93 | /// <returns>True: ok; False: not allowed</returns> | 94 | /// <returns>True: ok; False: not allowed</returns> |
94 | bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string sversion, out string version, out string reason); | 95 | bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string sversion, List<UUID> features, out string version, out string reason); |
95 | 96 | ||
96 | /// <summary> | 97 | /// <summary> |
97 | /// Message from receiving region to departing region, telling it got contacted by the client. | 98 | /// Message from receiving region to departing region, telling it got contacted by the client. |
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 65030a4..d67bc4d 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs | |||
@@ -983,7 +983,7 @@ namespace OpenSim.Services.LLLoginService | |||
983 | 983 | ||
984 | if ( | 984 | if ( |
985 | !simConnector.QueryAccess( | 985 | !simConnector.QueryAccess( |
986 | region, aCircuit.AgentID, null, true, aCircuit.startpos, "SIMULATION/0.3", out version, out reason)) | 986 | region, aCircuit.AgentID, null, true, aCircuit.startpos, "SIMULATION/0.3", new List<UUID>(), out version, out reason)) |
987 | return false; | 987 | return false; |
988 | 988 | ||
989 | return simConnector.CreateAgent(null, region, aCircuit, (uint)flags, out reason); | 989 | return simConnector.CreateAgent(null, region, aCircuit, (uint)flags, out reason); |