From 10180760b741edf22cec23db0ec490669407425f Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 2 May 2011 08:48:55 -0700 Subject: Works! --- .../ClientStack/Linden/Caps/GetTextureModule.cs | 27 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs') diff --git a/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs index 21041ec..d697f5e 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs @@ -52,13 +52,15 @@ namespace OpenSim.Region.ClientStack.Linden { [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] - public class GetTextureModule : ISharedRegionModule + public class GetTextureModule : INonSharedRegionModule { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private Scene m_scene; private IAssetService m_assetService; + private bool m_Enabled = false; + // TODO: Change this to a config option const string REDIRECT_URL = null; @@ -72,11 +74,18 @@ namespace OpenSim.Region.ClientStack.Linden if (config == null) return; - m_URL = config.GetString("Cap_GetTexture", "localhost"); + m_URL = config.GetString("Cap_GetTexture", string.Empty); + // Cap doesn't exist + if (m_URL != string.Empty) + m_Enabled = true; } public void AddRegion(Scene s) { + if (!m_Enabled) + return; + + m_scene = s; } public void RemoveRegion(Scene s) @@ -85,12 +94,15 @@ namespace OpenSim.Region.ClientStack.Linden public void RegionLoaded(Scene s) { + if (!m_Enabled) + return; + + m_assetService = m_scene.RequestModuleInterface(); + m_scene.EventManager.OnRegisterCaps += RegisterCaps; } public void PostInitialise() { - m_assetService = m_scene.RequestModuleInterface(); - m_scene.EventManager.OnRegisterCaps += RegisterCaps; } public void Close() { } @@ -108,12 +120,17 @@ namespace OpenSim.Region.ClientStack.Linden { UUID capID = UUID.Random(); - // m_log.InfoFormat("[GETTEXTURE]: /CAPS/{0} in region {1}", capID, m_scene.RegionInfo.RegionName); //caps.RegisterHandler("GetTexture", new StreamHandler("GET", "/CAPS/" + capID, ProcessGetTexture)); if (m_URL == "localhost") + { + m_log.InfoFormat("[GETTEXTURE]: /CAPS/{0} in region {1}", capID, m_scene.RegionInfo.RegionName); caps.RegisterHandler("GetTexture", new GetTextureHandler("/CAPS/" + capID + "/", m_assetService)); + } else + { + m_log.InfoFormat("[GETTEXTURE]: {0} in region {1}", m_URL, m_scene.RegionInfo.RegionName); caps.RegisterHandler("GetTexture", m_URL); + } } } -- cgit v1.1