More redirects to HGGridConnector-as-HyperlinkService.
parent
7253a9453e
commit
d39e67d5b2
|
@ -567,6 +567,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
|||
foreach (GridRegion r in m_HyperlinkRegions.Values)
|
||||
if (r.RegionHandle == handle)
|
||||
return r;
|
||||
foreach (GridRegion r in m_knownRegions.Values)
|
||||
if (r.RegionHandle == handle)
|
||||
return r;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -575,7 +578,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
|||
foreach (GridRegion r in m_HyperlinkRegions.Values)
|
||||
if ((r.RegionHandle == handle) && (m_HyperlinkHandles.ContainsKey(r.RegionID)))
|
||||
return m_HyperlinkHandles[r.RegionID];
|
||||
return 0;
|
||||
return handle;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -42,6 +42,7 @@ using OpenSim.Region.Framework.Interfaces;
|
|||
using OpenSim.Region.Framework.Scenes;
|
||||
using OpenSim.Region.Framework.Scenes.Hypergrid;
|
||||
using OpenSim.Region.Framework.Scenes.Serialization;
|
||||
using OpenSim.Services.Interfaces;
|
||||
using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||
|
||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion
|
||||
|
@ -60,6 +61,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion
|
|||
|
||||
protected RegionToRegionClient m_regionClient;
|
||||
|
||||
protected IHyperlinkService m_hyperlinkService;
|
||||
|
||||
protected bool m_safemode;
|
||||
protected IPAddress m_thisIP;
|
||||
|
||||
|
@ -135,7 +138,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion
|
|||
m_localBackend = new LocalInterregionComms();
|
||||
m_commsManager = scene.CommsManager;
|
||||
m_aScene = scene;
|
||||
m_regionClient = new RegionToRegionClient(m_aScene);
|
||||
m_hyperlinkService = m_aScene.RequestModuleInterface<IHyperlinkService>();
|
||||
m_regionClient = new RegionToRegionClient(m_aScene, m_hyperlinkService);
|
||||
m_thisIP = Util.GetHostFromDNS(scene.RegionInfo.ExternalHostName);
|
||||
}
|
||||
|
||||
|
@ -789,16 +793,21 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion
|
|||
protected class RegionToRegionClient : RegionClient
|
||||
{
|
||||
Scene m_aScene = null;
|
||||
IHyperlinkService m_hyperlinkService;
|
||||
|
||||
public RegionToRegionClient(Scene s)
|
||||
public RegionToRegionClient(Scene s, IHyperlinkService hyperService)
|
||||
{
|
||||
m_aScene = s;
|
||||
m_hyperlinkService = hyperService;
|
||||
}
|
||||
|
||||
public override ulong GetRegionHandle(ulong handle)
|
||||
{
|
||||
if (m_aScene.SceneGridService is HGSceneCommunicationService)
|
||||
return ((HGSceneCommunicationService)(m_aScene.SceneGridService)).m_hg.FindRegionHandle(handle);
|
||||
{
|
||||
if (m_hyperlinkService != null)
|
||||
return m_hyperlinkService.FindRegionHandle(handle);
|
||||
}
|
||||
|
||||
return handle;
|
||||
}
|
||||
|
@ -806,8 +815,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion
|
|||
public override bool IsHyperlink(ulong handle)
|
||||
{
|
||||
if (m_aScene.SceneGridService is HGSceneCommunicationService)
|
||||
return ((HGSceneCommunicationService)(m_aScene.SceneGridService)).m_hg.IsHyperlinkRegion(handle);
|
||||
|
||||
{
|
||||
if ((m_hyperlinkService != null) && (m_hyperlinkService.GetHyperlinkRegion(handle) != null))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue