diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/Scripting/LoadImageURL')
-rw-r--r-- | OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs | 40 |
1 files changed, 29 insertions, 11 deletions
diff --git a/OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs b/OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs index 45e6527..65737fa 100644 --- a/OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs | |||
@@ -37,10 +37,12 @@ using OpenSim.Region.Framework.Interfaces; | |||
37 | using OpenSim.Region.Framework.Scenes; | 37 | using OpenSim.Region.Framework.Scenes; |
38 | using log4net; | 38 | using log4net; |
39 | using System.Reflection; | 39 | using System.Reflection; |
40 | using Mono.Addins; | ||
40 | 41 | ||
41 | namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL | 42 | namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL |
42 | { | 43 | { |
43 | public class LoadImageURLModule : IRegionModule, IDynamicTextureRender | 44 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LoadImageURLModule")] |
45 | public class LoadImageURLModule : ISharedRegionModule, IDynamicTextureRender | ||
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 | ||
@@ -104,22 +106,32 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL | |||
104 | 106 | ||
105 | #endregion | 107 | #endregion |
106 | 108 | ||
107 | #region IRegionModule Members | 109 | #region ISharedRegionModule Members |
108 | 110 | ||
109 | public void Initialise(Scene scene, IConfigSource config) | 111 | public void Initialise(IConfigSource config) |
110 | { | 112 | { |
111 | if (m_scene == null) | ||
112 | { | ||
113 | m_scene = scene; | ||
114 | } | ||
115 | |||
116 | m_proxyurl = config.Configs["Startup"].GetString("HttpProxy"); | 113 | m_proxyurl = config.Configs["Startup"].GetString("HttpProxy"); |
117 | m_proxyexcepts = config.Configs["Startup"].GetString("HttpProxyExceptions"); | 114 | m_proxyexcepts = config.Configs["Startup"].GetString("HttpProxyExceptions"); |
118 | } | 115 | } |
119 | 116 | ||
120 | public void PostInitialise() | 117 | public void PostInitialise() |
121 | { | 118 | { |
122 | if (m_scene != null) | 119 | } |
120 | |||
121 | public void AddRegion(Scene scene) | ||
122 | { | ||
123 | if (m_scene == null) | ||
124 | m_scene = scene; | ||
125 | |||
126 | } | ||
127 | |||
128 | public void RemoveRegion(Scene scene) | ||
129 | { | ||
130 | } | ||
131 | |||
132 | public void RegionLoaded(Scene scene) | ||
133 | { | ||
134 | if (m_textureManager == null && m_scene == scene) | ||
123 | { | 135 | { |
124 | m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>(); | 136 | m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>(); |
125 | if (m_textureManager != null) | 137 | if (m_textureManager != null) |
@@ -138,9 +150,9 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL | |||
138 | get { return m_name; } | 150 | get { return m_name; } |
139 | } | 151 | } |
140 | 152 | ||
141 | public bool IsSharedModule | 153 | public Type ReplaceableInterface |
142 | { | 154 | { |
143 | get { return true; } | 155 | get { return null; } |
144 | } | 156 | } |
145 | 157 | ||
146 | #endregion | 158 | #endregion |
@@ -172,6 +184,12 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL | |||
172 | 184 | ||
173 | private void HttpRequestReturn(IAsyncResult result) | 185 | private void HttpRequestReturn(IAsyncResult result) |
174 | { | 186 | { |
187 | if (m_textureManager == null) | ||
188 | { | ||
189 | m_log.WarnFormat("[LOADIMAGEURLMODULE]: No texture manager. Can't function."); | ||
190 | return; | ||
191 | } | ||
192 | |||
175 | RequestState state = (RequestState) result.AsyncState; | 193 | RequestState state = (RequestState) result.AsyncState; |
176 | WebRequest request = (WebRequest) state.Request; | 194 | WebRequest request = (WebRequest) state.Request; |
177 | Stream stream = null; | 195 | Stream stream = null; |