From 913bc3bdb380cebebd11b657966486448962ab47 Mon Sep 17 00:00:00 2001 From: diva Date: Thu, 18 Jun 2009 00:48:39 +0000 Subject: Moved OpenSim/Framework/Communications/Capabilities up to OpenSim/Framework/Capabilities. Didn't change the namespace because VC# is not helping, and this would imply manually changing more than 50 files. So the namespace is still OpenSim.Framework.Communications.Capabilities, to be cleaned up later by someone with more energy. --- .../Communications/Capabilities/CapsHandlers.cs | 171 --------------------- 1 file changed, 171 deletions(-) delete mode 100644 OpenSim/Framework/Communications/Capabilities/CapsHandlers.cs (limited to 'OpenSim/Framework/Communications/Capabilities/CapsHandlers.cs') diff --git a/OpenSim/Framework/Communications/Capabilities/CapsHandlers.cs b/OpenSim/Framework/Communications/Capabilities/CapsHandlers.cs deleted file mode 100644 index cc44023..0000000 --- a/OpenSim/Framework/Communications/Capabilities/CapsHandlers.cs +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System.Collections; -using System.Collections.Generic; -using OpenSim.Framework.Servers; -using OpenSim.Framework.Servers.HttpServer; - -namespace OpenSim.Framework.Communications.Capabilities -{ - /// - /// CapsHandlers is a cap handler container but also takes - /// care of adding and removing cap handlers to and from the - /// supplied BaseHttpServer. - /// - public class CapsHandlers - { - private Dictionary m_capsHandlers = new Dictionary(); - private IHttpServer m_httpListener; - private string m_httpListenerHostName; - private uint m_httpListenerPort; - private bool m_useSSL = false; - - /// - /// CapsHandlers is a cap handler container but also takes - /// care of adding and removing cap handlers to and from the - /// supplied BaseHttpServer. - /// - /// base HTTP server - /// host name of the HTTP - /// server - /// HTTP port - public CapsHandlers(BaseHttpServer httpListener, string httpListenerHostname, uint httpListenerPort) - : this (httpListener,httpListenerHostname,httpListenerPort, false) - { - } - - /// - /// CapsHandlers is a cap handler container but also takes - /// care of adding and removing cap handlers to and from the - /// supplied BaseHttpServer. - /// - /// base HTTP server - /// host name of the HTTP - /// server - /// HTTP port - public CapsHandlers(IHttpServer httpListener, string httpListenerHostname, uint httpListenerPort, bool https) - { - m_httpListener = httpListener; - m_httpListenerHostName = httpListenerHostname; - m_httpListenerPort = httpListenerPort; - m_useSSL = https; - if (m_useSSL) - { - m_httpListenerHostName = httpListener.SSLCommonName; - m_httpListenerPort = httpListener.SSLPort; - } - } - - /// - /// Remove the cap handler for a capability. - /// - /// name of the capability of the cap - /// handler to be removed - public void Remove(string capsName) - { - // This line must be here, or caps will break! - m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[capsName].Path); - m_capsHandlers.Remove(capsName); - } - - public bool ContainsCap(string cap) - { - return m_capsHandlers.ContainsKey(cap); - } - - /// - /// The indexer allows us to treat the CapsHandlers object - /// in an intuitive dictionary like way. - /// - /// - /// The indexer will throw an exception when you try to - /// retrieve a cap handler for a cap that is not contained in - /// CapsHandlers. - /// - public IRequestHandler this[string idx] - { - get - { - return m_capsHandlers[idx]; - } - - set - { - if (m_capsHandlers.ContainsKey(idx)) - { - m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[idx].Path); - m_capsHandlers.Remove(idx); - } - - if (null == value) return; - - m_capsHandlers[idx] = value; - m_httpListener.AddStreamHandler(value); - } - } - - /// - /// Return the list of cap names for which this CapsHandlers - /// object contains cap handlers. - /// - public string[] Caps - { - get - { - string[] __keys = new string[m_capsHandlers.Keys.Count]; - m_capsHandlers.Keys.CopyTo(__keys, 0); - return __keys; - } - } - - /// - /// Return an LLSD-serializable Hashtable describing the - /// capabilities and their handler details. - /// - public Hashtable CapsDetails - { - get - { - Hashtable caps = new Hashtable(); - string protocol = "http://"; - - if (m_useSSL) - protocol = "https://"; - - string baseUrl = protocol + m_httpListenerHostName + ":" + m_httpListenerPort.ToString(); - foreach (string capsName in m_capsHandlers.Keys) - { - // skip SEED cap - if ("SEED" == capsName) continue; - caps[capsName] = baseUrl + m_capsHandlers[capsName].Path; - } - return caps; - } - } - } -} -- cgit v1.1