aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/Base/ServiceBase.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/Services/Base/ServiceBase.cs
parentMore changing to production grid. Double oops. (diff)
downloadopensim-SC-134f86e8d5c414409631b25b8c6f0ee45fbd8631.zip
opensim-SC-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.gz
opensim-SC-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.bz2
opensim-SC-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.xz
Initial update to OpenSim 0.8.2.1 source code.
Diffstat (limited to '')
-rw-r--r--OpenSim/Services/Base/ServiceBase.cs13
1 files changed, 10 insertions, 3 deletions
diff --git a/OpenSim/Services/Base/ServiceBase.cs b/OpenSim/Services/Base/ServiceBase.cs
index ef30cba..a7eb2be 100644
--- a/OpenSim/Services/Base/ServiceBase.cs
+++ b/OpenSim/Services/Base/ServiceBase.cs
@@ -27,6 +27,7 @@
27 27
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.IO;
30using System.Reflection; 31using System.Reflection;
31using log4net; 32using log4net;
32using Nini.Config; 33using Nini.Config;
@@ -45,9 +46,15 @@ namespace OpenSim.Services.Base
45 46
46 public T LoadPlugin<T>(string dllName, Object[] args) where T:class 47 public T LoadPlugin<T>(string dllName, Object[] args) where T:class
47 { 48 {
48 string[] parts = dllName.Split(new char[] {':'}); 49 // The path:type separator : is unfortunate because it collides
50 // with Windows paths like C:\...
51 // When the path provided includes the drive, this fails.
52 // Hence the root/noroot thing going on here.
53 string pathRoot = Path.GetPathRoot(dllName);
54 string noRoot = dllName.Substring(pathRoot.Length);
55 string[] parts = noRoot.Split(new char[] {':'});
49 56
50 dllName = parts[0]; 57 dllName = pathRoot + parts[0];
51 58
52 string className = String.Empty; 59 string className = String.Empty;
53 60
@@ -79,7 +86,7 @@ namespace OpenSim.Services.Base
79 continue; 86 continue;
80 87
81 Type typeInterface = 88 Type typeInterface =
82 pluginType.GetInterface(interfaceName, true); 89 pluginType.GetInterface(interfaceName);
83 if (typeInterface != null) 90 if (typeInterface != null)
84 { 91 {
85 T plug = (T)Activator.CreateInstance(pluginType, 92 T plug = (T)Activator.CreateInstance(pluginType,