aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs5
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs5
-rw-r--r--OpenSim/Server/Base/ServerUtils.cs17
-rw-r--r--OpenSim/Server/Handlers/Simulation/SimulationServiceInConnector.cs1
-rw-r--r--OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs5
-rw-r--r--OpenSim/Services/Interfaces/ISimulationService.cs1
6 files changed, 32 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
index 783d606..e32dbb3 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
@@ -166,6 +166,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
166 return m_sceneList[0]; 166 return m_sceneList[0];
167 } 167 }
168 168
169 public ISimulationService GetInnerService()
170 {
171 return this;
172 }
173
169 /** 174 /**
170 * Agent-related communications 175 * Agent-related communications
171 */ 176 */
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs
index 4d82a05..9e8454f 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs
@@ -156,6 +156,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
156 return m_localBackend.GetScene(handle); 156 return m_localBackend.GetScene(handle);
157 } 157 }
158 158
159 public ISimulationService GetInnerService()
160 {
161 return m_localBackend;
162 }
163
159 /** 164 /**
160 * Agent-related communications 165 * Agent-related communications
161 */ 166 */
diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs
index a399672..e7a8294 100644
--- a/OpenSim/Server/Base/ServerUtils.cs
+++ b/OpenSim/Server/Base/ServerUtils.cs
@@ -101,10 +101,23 @@ namespace OpenSim.Server.Base
101 continue; 101 continue;
102 102
103 Type typeInterface = pluginType.GetInterface(interfaceName, true); 103 Type typeInterface = pluginType.GetInterface(interfaceName, true);
104 104
105 if (typeInterface != null) 105 if (typeInterface != null)
106 { 106 {
107 return (T)Activator.CreateInstance(pluginType, args); 107 T plug = null;
108 try
109 {
110 plug = (T)Activator.CreateInstance(pluginType,
111 args);
112 }
113 catch (Exception e)
114 {
115 if (!(e is System.MissingMethodException))
116 m_log.ErrorFormat("Error loading plugin from {0}, exception {1}", dllName, e.InnerException);
117 return null;
118 }
119
120 return plug;
108 } 121 }
109 } 122 }
110 } 123 }
diff --git a/OpenSim/Server/Handlers/Simulation/SimulationServiceInConnector.cs b/OpenSim/Server/Handlers/Simulation/SimulationServiceInConnector.cs
index 55a575c..50d6fb2 100644
--- a/OpenSim/Server/Handlers/Simulation/SimulationServiceInConnector.cs
+++ b/OpenSim/Server/Handlers/Simulation/SimulationServiceInConnector.cs
@@ -55,6 +55,7 @@ namespace OpenSim.Server.Handlers.Simulation
55 55
56 //Object[] args = new Object[] { config }; 56 //Object[] args = new Object[] { config };
57 m_LocalSimulationService = scene.RequestModuleInterface<ISimulationService>(); 57 m_LocalSimulationService = scene.RequestModuleInterface<ISimulationService>();
58 m_LocalSimulationService = m_LocalSimulationService.GetInnerService();
58 //ServerUtils.LoadPlugin<ISimulationService>(simService, args); 59 //ServerUtils.LoadPlugin<ISimulationService>(simService, args);
59 60
60 //System.Console.WriteLine("XXXXXXXXXXXXXXXXXXX m_AssetSetvice == null? " + ((m_AssetService == null) ? "yes" : "no")); 61 //System.Console.WriteLine("XXXXXXXXXXXXXXXXXXX m_AssetSetvice == null? " + ((m_AssetService == null) ? "yes" : "no"));
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
index d3be1a8..ff0dd7e 100644
--- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
@@ -63,6 +63,11 @@ namespace OpenSim.Services.Connectors.Simulation
63 return null; 63 return null;
64 } 64 }
65 65
66 public ISimulationService GetInnerService()
67 {
68 return null;
69 }
70
66 #region Agents 71 #region Agents
67 72
68 protected virtual string AgentPath() 73 protected virtual string AgentPath()
diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs
index ec24d90..67d7cbe 100644
--- a/OpenSim/Services/Interfaces/ISimulationService.cs
+++ b/OpenSim/Services/Interfaces/ISimulationService.cs
@@ -36,6 +36,7 @@ namespace OpenSim.Services.Interfaces
36 public interface ISimulationService 36 public interface ISimulationService
37 { 37 {
38 IScene GetScene(ulong regionHandle); 38 IScene GetScene(ulong regionHandle);
39 ISimulationService GetInnerService();
39 40
40 #region Agents 41 #region Agents
41 42