aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs')
-rw-r--r--OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs20
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;