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.
This commit is contained in:
Melanie
2010-12-09 02:01:41 +01:00
parent 80b84e4bad
commit f28dc77ab4
6 changed files with 132 additions and 0 deletions

View File

@@ -257,6 +257,23 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
return false;
}
public bool QueryAccess(GridRegion destination, UUID id)
{
if (destination == null)
return false;
foreach (Scene s in m_sceneList)
{
if (s.RegionInfo.RegionHandle == destination.RegionHandle)
{
//m_log.Debug("[LOCAL COMMS]: Found region to send QueryAccess");
return s.QueryAccess(id);
}
}
//m_log.Debug("[LOCAL COMMS]: region not found for QueryAccess");
return false;
}
public bool ReleaseAgent(UUID origin, UUID id, string uri)
{
foreach (Scene s in m_sceneList)

View File

@@ -239,6 +239,23 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
}
public bool QueryAccess(GridRegion destination, UUID id)
{
if (destination == null)
return false;
// Try local first
if (m_localBackend.QueryAccess(destination, id))
return true;
// else do the remote thing
if (!m_localBackend.IsLocalRegion(destination.RegionHandle))
return m_remoteConnector.QueryAccess(destination, id);
return false;
}
public bool ReleaseAgent(UUID origin, UUID id, string uri)
{
// Try local first