diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs b/OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs index 5d03097..c7ac9be 100644 --- a/OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs +++ b/OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
@@ -94,22 +94,38 @@ namespace OpenSim.Server.Handlers.Hypergrid | |||
94 | UUID regionID = UUID.Zero; | 94 | UUID regionID = UUID.Zero; |
95 | UUID.TryParse(regionID_str, out regionID); | 95 | UUID.TryParse(regionID_str, out regionID); |
96 | 96 | ||
97 | GridRegion regInfo = m_GatekeeperService.GetHyperlinkRegion(regionID); | 97 | UUID agentID = UUID.Zero; |
98 | string agentHomeURI = null; | ||
99 | if (requestData.ContainsKey("agent_id")) | ||
100 | agentID = UUID.Parse((string)requestData["agent_id"]); | ||
101 | if (requestData.ContainsKey("agent_home_uri")) | ||
102 | agentHomeURI = (string)requestData["agent_home_uri"]; | ||
103 | |||
104 | string message; | ||
105 | GridRegion regInfo = m_GatekeeperService.GetHyperlinkRegion(regionID, agentID, agentHomeURI, out message); | ||
98 | 106 | ||
99 | Hashtable hash = new Hashtable(); | 107 | Hashtable hash = new Hashtable(); |
100 | if (regInfo == null) | 108 | if (regInfo == null) |
109 | { | ||
101 | hash["result"] = "false"; | 110 | hash["result"] = "false"; |
111 | } | ||
102 | else | 112 | else |
103 | { | 113 | { |
104 | hash["result"] = "true"; | 114 | hash["result"] = "true"; |
105 | hash["uuid"] = regInfo.RegionID.ToString(); | 115 | hash["uuid"] = regInfo.RegionID.ToString(); |
106 | hash["x"] = regInfo.RegionLocX.ToString(); | 116 | hash["x"] = regInfo.RegionLocX.ToString(); |
107 | hash["y"] = regInfo.RegionLocY.ToString(); | 117 | hash["y"] = regInfo.RegionLocY.ToString(); |
118 | hash["size_x"] = regInfo.RegionSizeX.ToString(); | ||
119 | hash["size_y"] = regInfo.RegionSizeY.ToString(); | ||
108 | hash["region_name"] = regInfo.RegionName; | 120 | hash["region_name"] = regInfo.RegionName; |
109 | hash["hostname"] = regInfo.ExternalHostName; | 121 | hash["hostname"] = regInfo.ExternalHostName; |
110 | hash["http_port"] = regInfo.HttpPort.ToString(); | 122 | hash["http_port"] = regInfo.HttpPort.ToString(); |
111 | hash["internal_port"] = regInfo.InternalEndPoint.Port.ToString(); | 123 | hash["internal_port"] = regInfo.InternalEndPoint.Port.ToString(); |
112 | } | 124 | } |
125 | |||
126 | if (message != null) | ||
127 | hash["message"] = message; | ||
128 | |||
113 | XmlRpcResponse response = new XmlRpcResponse(); | 129 | XmlRpcResponse response = new XmlRpcResponse(); |
114 | response.Value = hash; | 130 | response.Value = hash; |
115 | return response; | 131 | return response; |