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