diff options
Diffstat (limited to 'OpenSim/Capabilities/CapsHandlers.cs')
-rw-r--r-- | OpenSim/Capabilities/CapsHandlers.cs | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/OpenSim/Capabilities/CapsHandlers.cs b/OpenSim/Capabilities/CapsHandlers.cs index 1709f46..890df90 100644 --- a/OpenSim/Capabilities/CapsHandlers.cs +++ b/OpenSim/Capabilities/CapsHandlers.cs | |||
@@ -39,7 +39,7 @@ namespace OpenSim.Framework.Capabilities | |||
39 | /// </summary> | 39 | /// </summary> |
40 | public class CapsHandlers | 40 | public class CapsHandlers |
41 | { | 41 | { |
42 | private Dictionary <string, IRequestHandler> m_capsHandlers = new Dictionary<string, IRequestHandler>(); | 42 | private Dictionary<string, IRequestHandler> m_capsHandlers = new Dictionary<string, IRequestHandler>(); |
43 | private IHttpServer m_httpListener; | 43 | private IHttpServer m_httpListener; |
44 | private string m_httpListenerHostName; | 44 | private string m_httpListenerHostName; |
45 | private uint m_httpListenerPort; | 45 | private uint m_httpListenerPort; |
@@ -158,7 +158,7 @@ namespace OpenSim.Framework.Capabilities | |||
158 | /// capabilities and their handler details. | 158 | /// capabilities and their handler details. |
159 | /// </summary> | 159 | /// </summary> |
160 | /// <param name="excludeSeed">If true, then exclude the seed cap.</param> | 160 | /// <param name="excludeSeed">If true, then exclude the seed cap.</param> |
161 | public Hashtable GetCapsDetails(bool excludeSeed) | 161 | public Hashtable GetCapsDetails(bool excludeSeed, List<string> requestedCaps) |
162 | { | 162 | { |
163 | Hashtable caps = new Hashtable(); | 163 | Hashtable caps = new Hashtable(); |
164 | string protocol = "http://"; | 164 | string protocol = "http://"; |
@@ -175,11 +175,26 @@ namespace OpenSim.Framework.Capabilities | |||
175 | if (excludeSeed && "SEED" == capsName) | 175 | if (excludeSeed && "SEED" == capsName) |
176 | continue; | 176 | continue; |
177 | 177 | ||
178 | if (requestedCaps != null && !requestedCaps.Contains(capsName)) | ||
179 | continue; | ||
180 | |||
178 | caps[capsName] = baseUrl + m_capsHandlers[capsName].Path; | 181 | caps[capsName] = baseUrl + m_capsHandlers[capsName].Path; |
179 | } | 182 | } |
180 | } | 183 | } |
181 | 184 | ||
182 | return caps; | 185 | return caps; |
183 | } | 186 | } |
187 | |||
188 | /// <summary> | ||
189 | /// Returns a copy of the dictionary of all the HTTP cap handlers | ||
190 | /// </summary> | ||
191 | /// <returns> | ||
192 | /// The dictionary copy. The key is the capability name, the value is the HTTP handler. | ||
193 | /// </returns> | ||
194 | public Dictionary<string, IRequestHandler> GetCapsHandlers() | ||
195 | { | ||
196 | lock (m_capsHandlers) | ||
197 | return new Dictionary<string, IRequestHandler>(m_capsHandlers); | ||
198 | } | ||
184 | } | 199 | } |
185 | } \ No newline at end of file | 200 | } \ No newline at end of file |