aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/ClientStackManager.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/ClientStackManager.cs32
1 files changed, 21 insertions, 11 deletions
diff --git a/OpenSim/Region/ClientStack/ClientStackManager.cs b/OpenSim/Region/ClientStack/ClientStackManager.cs
index 5723739..098466d 100644
--- a/OpenSim/Region/ClientStack/ClientStackManager.cs
+++ b/OpenSim/Region/ClientStack/ClientStackManager.cs
@@ -48,22 +48,32 @@ namespace OpenSim.Region.Environment
48 { 48 {
49 m_log.Info("[CLIENTSTACK]: Attempting to load " + dllName); 49 m_log.Info("[CLIENTSTACK]: Attempting to load " + dllName);
50 50
51 plugin = null; 51 try
52 pluginAssembly = Assembly.LoadFrom(dllName);
53
54 foreach (Type pluginType in pluginAssembly.GetTypes())
55 { 52 {
56 if (pluginType.IsPublic) 53 plugin = null;
57 { 54 pluginAssembly = Assembly.LoadFrom(dllName);
58 Type typeInterface = pluginType.GetInterface("IClientNetworkServer", true);
59 55
60 if (typeInterface != null) 56 foreach (Type pluginType in pluginAssembly.GetTypes())
57 {
58 if (pluginType.IsPublic)
61 { 59 {
62 m_log.Info("[CLIENTSTACK]: Added IClientNetworkServer Interface"); 60 Type typeInterface = pluginType.GetInterface("IClientNetworkServer", true);
63 plugin = pluginType; 61
64 return; 62 if (typeInterface != null)
63 {
64 m_log.Info("[CLIENTSTACK]: Added IClientNetworkServer Interface");
65 plugin = pluginType;
66 return;
67 }
65 } 68 }
66 } 69 }
70 } catch (ReflectionTypeLoadException e)
71 {
72 foreach(Exception e2 in e.LoaderExceptions)
73 {
74 m_log.Error(e2.ToString());
75 }
76 throw e;
67 } 77 }
68 } 78 }
69 79