diff options
Diffstat (limited to 'OpenSim/Services')
-rw-r--r-- | OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | 8 | ||||
-rw-r--r-- | OpenSim/Services/Interfaces/ISimulationService.cs | 14 |
2 files changed, 19 insertions, 3 deletions
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index 0e74073..75c5b35 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | |||
@@ -275,7 +275,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
275 | 275 | ||
276 | /// <summary> | 276 | /// <summary> |
277 | /// </summary> | 277 | /// </summary> |
278 | public bool QueryAccess(GridRegion destination, UUID id, Vector3 position, out string version, out string reason) | 278 | public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string myversion, out string version, out string reason) |
279 | { | 279 | { |
280 | reason = "Failed to contact destination"; | 280 | reason = "Failed to contact destination"; |
281 | version = "Unknown"; | 281 | version = "Unknown"; |
@@ -286,10 +286,14 @@ namespace OpenSim.Services.Connectors.Simulation | |||
286 | if (ext == null) return false; | 286 | if (ext == null) return false; |
287 | 287 | ||
288 | // Eventually, we want to use a caps url instead of the agentID | 288 | // Eventually, we want to use a caps url instead of the agentID |
289 | string uri = destination.ServerURI + AgentPath() + id + "/" + destination.RegionID.ToString() + "/"; | 289 | string uri = destination.ServerURI + AgentPath() + agentID + "/" + destination.RegionID.ToString() + "/"; |
290 | 290 | ||
291 | OSDMap request = new OSDMap(); | 291 | OSDMap request = new OSDMap(); |
292 | request.Add("viaTeleport", OSD.FromBoolean(viaTeleport)); | ||
292 | request.Add("position", OSD.FromString(position.ToString())); | 293 | request.Add("position", OSD.FromString(position.ToString())); |
294 | request.Add("my_version", OSD.FromString(myversion)); | ||
295 | if (agentHomeURI != null) | ||
296 | request.Add("agent_home_uri", OSD.FromString(agentHomeURI)); | ||
293 | 297 | ||
294 | try | 298 | try |
295 | { | 299 | { |
diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 1c82b3e..b629177 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs | |||
@@ -75,7 +75,19 @@ namespace OpenSim.Services.Interfaces | |||
75 | /// <returns></returns> | 75 | /// <returns></returns> |
76 | bool UpdateAgent(GridRegion destination, AgentPosition data); | 76 | bool UpdateAgent(GridRegion destination, AgentPosition data); |
77 | 77 | ||
78 | bool QueryAccess(GridRegion destination, UUID id, Vector3 position, out string version, out string reason); | 78 | /// <summary> |
79 | /// Returns whether a propspective user is allowed to visit the region. | ||
80 | /// </summary> | ||
81 | /// <param name="destination">Desired destination</param> | ||
82 | /// <param name="agentID">The visitor's User ID</param> | ||
83 | /// <param name="agentHomeURI">The visitor's Home URI. Will be missing (null) in older OpenSims.</param> | ||
84 | /// <param name="viaTeleport">True: via teleport; False: via cross (walking)</param> | ||
85 | /// <param name="position">Position in the region</param> | ||
86 | /// <param name="sversion">version that the requesting simulator is runing</param> | ||
87 | /// <param name="version">version that the target simulator is running</param> | ||
88 | /// <param name="reason">[out] Optional error message</param> | ||
89 | /// <returns>True: ok; False: not allowed</returns> | ||
90 | bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string sversion, out string version, out string reason); | ||
79 | 91 | ||
80 | /// <summary> | 92 | /// <summary> |
81 | /// Message from receiving region to departing region, telling it got contacted by the client. | 93 | /// Message from receiving region to departing region, telling it got contacted by the client. |