aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/ServiceConnectorsOut
diff options
context:
space:
mode:
authorMelanie2010-12-09 01:55:32 +0000
committerMelanie2010-12-09 01:55:32 +0000
commit4df1d25d23d76ee3ae8c7da155462b57735f6418 (patch)
tree3d03a3cf9fb54f6992b67a6e2b23d5ea8def084d /OpenSim/Region/CoreModules/ServiceConnectorsOut
parentAdded an exception handler on CreateObject handler, just in case there's an e... (diff)
downloadopensim-SC_OLD-4df1d25d23d76ee3ae8c7da155462b57735f6418.zip
opensim-SC_OLD-4df1d25d23d76ee3ae8c7da155462b57735f6418.tar.gz
opensim-SC_OLD-4df1d25d23d76ee3ae8c7da155462b57735f6418.tar.bz2
opensim-SC_OLD-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/Region/CoreModules/ServiceConnectorsOut')
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs17
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs17
2 files changed, 34 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
index e32dbb3..37b403e 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
@@ -257,6 +257,23 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
257 return false; 257 return false;
258 } 258 }
259 259
260 public bool QueryAccess(GridRegion destination, UUID id)
261 {
262 if (destination == null)
263 return false;
264
265 foreach (Scene s in m_sceneList)
266 {
267 if (s.RegionInfo.RegionHandle == destination.RegionHandle)
268 {
269 //m_log.Debug("[LOCAL COMMS]: Found region to send QueryAccess");
270 return s.QueryAccess(id);
271 }
272 }
273 //m_log.Debug("[LOCAL COMMS]: region not found for QueryAccess");
274 return false;
275 }
276
260 public bool ReleaseAgent(UUID origin, UUID id, string uri) 277 public bool ReleaseAgent(UUID origin, UUID id, string uri)
261 { 278 {
262 foreach (Scene s in m_sceneList) 279 foreach (Scene s in m_sceneList)
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs
index 3f577f2..387a9b8 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs
@@ -239,6 +239,23 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
239 239
240 } 240 }
241 241
242 public bool QueryAccess(GridRegion destination, UUID id)
243 {
244 if (destination == null)
245 return false;
246
247 // Try local first
248 if (m_localBackend.QueryAccess(destination, id))
249 return true;
250
251 // else do the remote thing
252 if (!m_localBackend.IsLocalRegion(destination.RegionHandle))
253 return m_remoteConnector.QueryAccess(destination, id);
254
255 return false;
256
257 }
258
242 public bool ReleaseAgent(UUID origin, UUID id, string uri) 259 public bool ReleaseAgent(UUID origin, UUID id, string uri)
243 { 260 {
244 // Try local first 261 // Try local first