aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/ClientStackManager.cs
diff options
context:
space:
mode:
authorDavid Walter Seikel2016-11-03 21:44:39 +1000
committerDavid Walter Seikel2016-11-03 21:44:39 +1000
commit134f86e8d5c414409631b25b8c6f0ee45fbd8631 (patch)
tree216b89d3fb89acfb81be1e440c25c41ab09fa96d /OpenSim/Region/ClientStack/ClientStackManager.cs
parentMore changing to production grid. Double oops. (diff)
downloadopensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.zip
opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.gz
opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.bz2
opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.xz
Initial update to OpenSim 0.8.2.1 source code.
Diffstat (limited to 'OpenSim/Region/ClientStack/ClientStackManager.cs')
-rw-r--r--OpenSim/Region/ClientStack/ClientStackManager.cs128
1 files changed, 0 insertions, 128 deletions
diff --git a/OpenSim/Region/ClientStack/ClientStackManager.cs b/OpenSim/Region/ClientStack/ClientStackManager.cs
deleted file mode 100644
index 84ea0b3..0000000
--- a/OpenSim/Region/ClientStack/ClientStackManager.cs
+++ /dev/null
@@ -1,128 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using System.Net;
30using System.Reflection;
31using log4net;
32using Nini.Config;
33using OpenSim.Framework;
34
35namespace OpenSim.Region.ClientStack
36{
37 public class ClientStackManager
38 {
39 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
40
41 private Type plugin;
42 private Assembly pluginAssembly;
43
44 public ClientStackManager(string dllName)
45 {
46 m_log.Info("[CLIENTSTACK]: Attempting to load " + dllName);
47
48 try
49 {
50 plugin = null;
51 pluginAssembly = Assembly.LoadFrom(dllName);
52
53 foreach (Type pluginType in pluginAssembly.GetTypes())
54 {
55 if (pluginType.IsPublic)
56 {
57 Type typeInterface = pluginType.GetInterface("IClientNetworkServer", true);
58
59 if (typeInterface != null)
60 {
61 m_log.Info("[CLIENTSTACK]: Added IClientNetworkServer Interface");
62 plugin = pluginType;
63 return;
64 }
65 }
66 }
67 } catch (ReflectionTypeLoadException e)
68 {
69 foreach (Exception e2 in e.LoaderExceptions)
70 {
71 m_log.Error(e2.ToString());
72 }
73 throw e;
74 }
75 }
76
77 /// <summary>
78 /// Create a server that can set up sessions for virtual world client <-> server communications
79 /// </summary>
80 /// <param name="_listenIP"></param>
81 /// <param name="port"></param>
82 /// <param name="proxyPortOffset"></param>
83 /// <param name="allow_alternate_port"></param>
84 /// <param name="assetCache"></param>
85 /// <param name="authenticateClass"></param>
86 /// <returns></returns>
87 public IClientNetworkServer CreateServer(
88 IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port,
89 AgentCircuitManager authenticateClass)
90 {
91 return CreateServer(
92 _listenIP, ref port, proxyPortOffset, allow_alternate_port, null, authenticateClass);
93 }
94
95 /// <summary>
96 /// Create a server that can set up sessions for virtual world client <-> server communications
97 /// </summary>
98 /// <param name="_listenIP"></param>
99 /// <param name="port"></param>
100 /// <param name="proxyPortOffset"></param>
101 /// <param name="allow_alternate_port"></param>
102 /// <param name="configSource">
103 /// Can be null, in which case default values are used
104 /// </param>
105 /// <param name="assetCache"></param>
106 /// <param name="authenticateClass"></param>
107 /// <returns></returns>
108 public IClientNetworkServer CreateServer(
109 IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port, IConfigSource configSource,
110 AgentCircuitManager authenticateClass)
111 {
112 if (plugin != null)
113 {
114 IClientNetworkServer server =
115 (IClientNetworkServer)Activator.CreateInstance(pluginAssembly.GetType(plugin.ToString()));
116
117 server.Initialise(
118 _listenIP, ref port, proxyPortOffset, allow_alternate_port,
119 configSource, authenticateClass);
120
121 return server;
122 }
123
124 m_log.Error("[CLIENTSTACK]: Couldn't initialize a new server");
125 return null;
126 }
127 }
128}