aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs38
1 files changed, 27 insertions, 11 deletions
diff --git a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs
index 93a045e..9d90517 100644
--- a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs
+++ b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs
@@ -37,10 +37,12 @@ using OpenSim.Region.Framework.Interfaces;
37using OpenSim.Region.Framework.Scenes; 37using OpenSim.Region.Framework.Scenes;
38using log4net; 38using log4net;
39using System.Reflection; 39using System.Reflection;
40using Mono.Addins;
40 41
41namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture 42namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
42{ 43{
43 public class DynamicTextureModule : IRegionModule, IDynamicTextureManager 44 [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "DynamicTextureModule")]
45 public class DynamicTextureModule : ISharedRegionModule, IDynamicTextureManager
44 { 46 {
45// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 47// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
46 48
@@ -323,17 +325,30 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
323 325
324 #endregion 326 #endregion
325 327
326 #region IRegionModule Members 328 #region ISharedRegionModule Members
327 329
328 public void Initialise(Scene scene, IConfigSource config) 330 public void Initialise(IConfigSource config)
329 { 331 {
330 IConfig texturesConfig = config.Configs["Textures"]; 332 IConfig texturesConfig = config.Configs["Textures"];
331 if (texturesConfig != null) 333 if (texturesConfig != null)
332 { 334 {
333 ReuseTextures = texturesConfig.GetBoolean("ReuseDynamicTextures", false); 335 ReuseTextures = texturesConfig.GetBoolean("ReuseDynamicTextures", false);
334 ReuseLowDataTextures = texturesConfig.GetBoolean("ReuseDynamicLowDataTextures", false); 336 ReuseLowDataTextures = texturesConfig.GetBoolean("ReuseDynamicLowDataTextures", false);
337
338 if (ReuseTextures)
339 {
340 m_reuseableDynamicTextures = new Cache(CacheMedium.Memory, CacheStrategy.Conservative);
341 m_reuseableDynamicTextures.DefaultTTL = new TimeSpan(24, 0, 0);
342 }
335 } 343 }
344 }
345
346 public void PostInitialise()
347 {
348 }
336 349
350 public void AddRegion(Scene scene)
351 {
337 if (!RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID)) 352 if (!RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID))
338 { 353 {
339 RegisteredScenes.Add(scene.RegionInfo.RegionID, scene); 354 RegisteredScenes.Add(scene.RegionInfo.RegionID, scene);
@@ -341,13 +356,14 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
341 } 356 }
342 } 357 }
343 358
344 public void PostInitialise() 359 public void RegionLoaded(Scene scene)
345 { 360 {
346 if (ReuseTextures) 361 }
347 { 362
348 m_reuseableDynamicTextures = new Cache(CacheMedium.Memory, CacheStrategy.Conservative); 363 public void RemoveRegion(Scene scene)
349 m_reuseableDynamicTextures.DefaultTTL = new TimeSpan(24, 0, 0); 364 {
350 } 365 if (RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID))
366 RegisteredScenes.Remove(scene.RegionInfo.RegionID);
351 } 367 }
352 368
353 public void Close() 369 public void Close()
@@ -359,9 +375,9 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
359 get { return "DynamicTextureModule"; } 375 get { return "DynamicTextureModule"; }
360 } 376 }
361 377
362 public bool IsSharedModule 378 public Type ReplaceableInterface
363 { 379 {
364 get { return true; } 380 get { return null; }
365 } 381 }
366 382
367 #endregion 383 #endregion