aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services
diff options
context:
space:
mode:
authorMelanie Thielker2015-08-20 00:18:45 +0200
committerMelanie Thielker2015-08-20 00:18:45 +0200
commit028506cf3cecb3666b0c185d9c25e21bab968c93 (patch)
tree22f544d4966ba2c71a7c86122d7f8efd525a2790 /OpenSim/Services
parentMerge branch 'master' of opensimulator.org:/var/git/opensim (diff)
downloadopensim-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')
-rw-r--r--OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs9
-rw-r--r--OpenSim/Services/HypergridService/GatekeeperService.cs2
-rw-r--r--OpenSim/Services/Interfaces/ISimulationService.cs3
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginService.cs2
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
28using System; 28using System;
29using System.Collections.Generic;
29using OpenSim.Framework; 30using OpenSim.Framework;
30using OpenMetaverse; 31using 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);