aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server
diff options
context:
space:
mode:
authorMelanie2010-12-09 01:55:32 +0000
committerMelanie2010-12-09 01:55:32 +0000
commit4df1d25d23d76ee3ae8c7da155462b57735f6418 (patch)
tree3d03a3cf9fb54f6992b67a6e2b23d5ea8def084d /OpenSim/Server
parentAdded an exception handler on CreateObject handler, just in case there's an e... (diff)
downloadopensim-SC-4df1d25d23d76ee3ae8c7da155462b57735f6418.zip
opensim-SC-4df1d25d23d76ee3ae8c7da155462b57735f6418.tar.gz
opensim-SC-4df1d25d23d76ee3ae8c7da155462b57735f6418.tar.bz2
opensim-SC-4df1d25d23d76ee3ae8c7da155462b57735f6418.tar.xz
Plumb a code path for the entity transfer module to ask a destination scene
whether or not an agent is allowed there as a root agent.
Diffstat (limited to 'OpenSim/Server')
-rw-r--r--OpenSim/Server/Handlers/Simulation/AgentHandlers.cs26
1 files changed, 26 insertions, 0 deletions
diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
index 1f7e502..24ae81f 100644
--- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
+++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
@@ -110,6 +110,11 @@ namespace OpenSim.Server.Handlers.Simulation
110 DoAgentDelete(request, responsedata, agentID, action, regionID); 110 DoAgentDelete(request, responsedata, agentID, action, regionID);
111 return responsedata; 111 return responsedata;
112 } 112 }
113 else if (method.Equals("QUERYACCESSS"))
114 {
115 DoQueryAccess(request, responsedata, agentID, regionID);
116 return responsedata;
117 }
113 else 118 else
114 { 119 {
115 m_log.InfoFormat("[AGENT HANDLER]: method {0} not supported in agent message", method); 120 m_log.InfoFormat("[AGENT HANDLER]: method {0} not supported in agent message", method);
@@ -300,6 +305,27 @@ namespace OpenSim.Server.Handlers.Simulation
300 return m_SimulationService.UpdateAgent(destination, agent); 305 return m_SimulationService.UpdateAgent(destination, agent);
301 } 306 }
302 307
308 protected virtual void DoQueryAccess(Hashtable request, Hashtable responsedata, UUID id, UUID regionID)
309 {
310 if (m_SimulationService == null)
311 {
312 m_log.Debug("[AGENT HANDLER]: Agent QUERY called. Harmless but useless.");
313 responsedata["content_type"] = "application/json";
314 responsedata["int_response_code"] = HttpStatusCode.NotImplemented;
315 responsedata["str_response_string"] = string.Empty;
316
317 return;
318 }
319
320 GridRegion destination = new GridRegion();
321 destination.RegionID = regionID;
322
323 bool result = m_SimulationService.QueryAccess(destination, id);
324
325 responsedata["int_response_code"] = HttpStatusCode.OK;
326 responsedata["str_response_string"] = result.ToString();
327 }
328
303 protected virtual void DoAgentGet(Hashtable request, Hashtable responsedata, UUID id, UUID regionID) 329 protected virtual void DoAgentGet(Hashtable request, Hashtable responsedata, UUID id, UUID regionID)
304 { 330 {
305 if (m_SimulationService == null) 331 if (m_SimulationService == null)