aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorAdam Frisby2009-05-12 13:10:04 +0000
committerAdam Frisby2009-05-12 13:10:04 +0000
commit559355189af9432b01eef00c76071dee684a6cc0 (patch)
tree6b3585f7391689a00d3accafcafceaa440a09c58
parentFrom: Alan Webb <alan_webb@us.ibm.com> (diff)
downloadopensim-SC-559355189af9432b01eef00c76071dee684a6cc0.zip
opensim-SC-559355189af9432b01eef00c76071dee684a6cc0.tar.gz
opensim-SC-559355189af9432b01eef00c76071dee684a6cc0.tar.bz2
opensim-SC-559355189af9432b01eef00c76071dee684a6cc0.tar.xz
* Applies Mantis #3630 - Adds support for outside MRM initialisation, makes MRMModule compatible with the Visual Studio MRMLoader ( http://forge.opensimulator.org/gf/project/mrmloader/ )
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/Graphics.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/Heightmap.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/Host.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/IMRMModule.cs5
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/LOParcel.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMBase.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs21
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/MicroScheduler.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/ObjectAccessor.cs4
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/SEUser.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObjectMaterial.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/SPAvatar.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs2
13 files changed, 32 insertions, 18 deletions
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Graphics.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Graphics.cs
index 50e6f6c..0b937c1 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Graphics.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Graphics.cs
@@ -33,7 +33,7 @@ using OpenSim.Region.Framework.Scenes;
33 33
34namespace OpenSim.Region.OptionalModules.Scripting.Minimodule 34namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
35{ 35{
36 class Graphics : IGraphics 36 class Graphics : System.MarshalByRefObject, IGraphics
37 { 37 {
38 private readonly Scene m_scene; 38 private readonly Scene m_scene;
39 39
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Heightmap.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Heightmap.cs
index 9b9d686..47c3085 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Heightmap.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Heightmap.cs
@@ -29,7 +29,7 @@ using OpenSim.Region.Framework.Scenes;
29 29
30namespace OpenSim.Region.OptionalModules.Scripting.Minimodule 30namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
31{ 31{
32 public class Heightmap : IHeightmap 32 public class Heightmap : System.MarshalByRefObject, IHeightmap
33 { 33 {
34 private readonly Scene m_scene; 34 private readonly Scene m_scene;
35 35
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Host.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Host.cs
index 193461d..cbde283 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Host.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Host.cs
@@ -32,7 +32,7 @@ using OpenSim.Region.OptionalModules.Scripting.Minimodule.Interfaces;
32 32
33namespace OpenSim.Region.OptionalModules.Scripting.Minimodule 33namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
34{ 34{
35 class Host : IHost 35 class Host : System.MarshalByRefObject, IHost
36 { 36 {
37 private readonly IObject m_obj; 37 private readonly IObject m_obj;
38 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 38 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/IMRMModule.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IMRMModule.cs
index 486d0d9..9f48081 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/IMRMModule.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IMRMModule.cs
@@ -25,10 +25,13 @@
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using OpenMetaverse;
29
28namespace OpenSim.Region.OptionalModules.Scripting.Minimodule 30namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
29{ 31{
30 public interface IMRMModule 32 public interface IMRMModule
31 { 33 {
32 void RegisterExtension<T>(T instance); 34 void RegisterExtension<T>(T instance);
35 void InitializeMRM(MRMBase mmb, uint localID, UUID itemID);
33 } 36 }
34} \ No newline at end of file 37}
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/LOParcel.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/LOParcel.cs
index d2f3121..37c7434 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/LOParcel.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/LOParcel.cs
@@ -30,7 +30,7 @@ using OpenSim.Region.Framework.Scenes;
30 30
31namespace OpenSim.Region.OptionalModules.Scripting.Minimodule 31namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
32{ 32{
33 class LOParcel : IParcel 33 class LOParcel : System.MarshalByRefObject, IParcel
34 { 34 {
35 private readonly Scene m_scene; 35 private readonly Scene m_scene;
36 private readonly int m_parcelID; 36 private readonly int m_parcelID;
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMBase.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMBase.cs
index c47e592..6a23f5d 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMBase.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMBase.cs
@@ -29,7 +29,7 @@ using OpenMetaverse;
29 29
30namespace OpenSim.Region.OptionalModules.Scripting.Minimodule 30namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
31{ 31{
32 public abstract class MRMBase 32 public abstract class MRMBase : System.MarshalByRefObject
33 { 33 {
34 private IWorld m_world; 34 private IWorld m_world;
35 private IHost m_host; 35 private IHost m_host;
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs
index 3a6b1b1..e0b6150 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs
@@ -108,15 +108,13 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
108 try 108 try
109 { 109 {
110 m_log.Info("[MRM] Found C# MRM"); 110 m_log.Info("[MRM] Found C# MRM");
111 IWorld m_world = new World(m_scene);
112 IHost m_host = new Host(new SOPObject(m_scene, localID), m_scene, new ExtensionHandler(m_extensions),
113 m_microthreads);
114 111
115 MRMBase mmb = (MRMBase)AppDomain.CurrentDomain.CreateInstanceFromAndUnwrap( 112 MRMBase mmb = (MRMBase)AppDomain.CurrentDomain.CreateInstanceFromAndUnwrap(
116 CompileFromDotNetText(script, itemID.ToString()), 113 CompileFromDotNetText(script, itemID.ToString()),
117 "OpenSim.MiniModule"); 114 "OpenSim.MiniModule");
118 m_log.Info("[MRM] Created MRM Instance"); 115
119 mmb.InitMiniModule(m_world, m_host, itemID); 116 InitializeMRM(mmb, localID, itemID);
117
120 m_scripts[itemID] = mmb; 118 m_scripts[itemID] = mmb;
121 119
122 m_log.Info("[MRM] Starting MRM"); 120 m_log.Info("[MRM] Starting MRM");
@@ -148,6 +146,19 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
148 } 146 }
149 } 147 }
150 148
149 public void InitializeMRM(MRMBase mmb, uint localID, UUID itemID)
150 {
151
152 m_log.Info("[MRM] Created MRM Instance");
153
154 IWorld m_world = new World(m_scene);
155 IHost m_host = new Host(new SOPObject(m_scene, localID), m_scene, new ExtensionHandler(m_extensions),
156 m_microthreads);
157
158 mmb.InitMiniModule(m_world, m_host, itemID);
159
160 }
161
151 public void PostInitialise() 162 public void PostInitialise()
152 { 163 {
153 164
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/MicroScheduler.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/MicroScheduler.cs
index aaa2848..73fe8b8 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/MicroScheduler.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/MicroScheduler.cs
@@ -35,7 +35,7 @@ using OpenSim.Region.OptionalModules.Scripting.Minimodule.Interfaces;
35 35
36namespace OpenSim.Region.OptionalModules.Scripting.Minimodule 36namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
37{ 37{
38 public class MicroScheduler : IMicrothreader 38 public class MicroScheduler : System.MarshalByRefObject, IMicrothreader
39 { 39 {
40 private readonly List<IEnumerator> m_threads = new List<IEnumerator>(); 40 private readonly List<IEnumerator> m_threads = new List<IEnumerator>();
41 41
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/ObjectAccessor.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/ObjectAccessor.cs
index 2bd2e29..a64a1c2 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/ObjectAccessor.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/ObjectAccessor.cs
@@ -35,7 +35,7 @@ using IEnumerable=System.Collections.IEnumerable;
35namespace OpenSim.Region.OptionalModules.Scripting.Minimodule 35namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
36{ 36{
37 37
38 internal class IObjEnum : IEnumerator<IObject> 38 internal class IObjEnum : System.MarshalByRefObject, IEnumerator<IObject>
39 { 39 {
40 private readonly Scene m_scene; 40 private readonly Scene m_scene;
41 private readonly IEnumerator<EntityBase> m_sogEnum; 41 private readonly IEnumerator<EntityBase> m_sogEnum;
@@ -75,7 +75,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
75 } 75 }
76 } 76 }
77 77
78 public class ObjectAccessor : IObjectAccessor 78 public class ObjectAccessor : System.MarshalByRefObject, IObjectAccessor
79 { 79 {
80 private readonly Scene m_scene; 80 private readonly Scene m_scene;
81 81
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SEUser.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SEUser.cs
index ebf68b1..e2bdf5e 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SEUser.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SEUser.cs
@@ -32,7 +32,7 @@ using OpenMetaverse;
32 32
33namespace OpenSim.Region.OptionalModules.Scripting.Minimodule 33namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
34{ 34{
35 class SEUser : ISocialEntity 35 class SEUser : System.MarshalByRefObject, ISocialEntity
36 { 36 {
37 private readonly UUID m_uuid; 37 private readonly UUID m_uuid;
38 private readonly string m_name; 38 private readonly string m_name;
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObjectMaterial.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObjectMaterial.cs
index e6b99be..68f2f52 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObjectMaterial.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObjectMaterial.cs
@@ -31,7 +31,7 @@ using OpenSim.Region.Framework.Scenes;
31 31
32namespace OpenSim.Region.OptionalModules.Scripting.Minimodule 32namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
33{ 33{
34 class SOPObjectMaterial : IObjectMaterial 34 class SOPObjectMaterial : System.MarshalByRefObject, IObjectMaterial
35 { 35 {
36 private readonly int m_face; 36 private readonly int m_face;
37 private readonly SceneObjectPart m_parent; 37 private readonly SceneObjectPart m_parent;
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SPAvatar.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SPAvatar.cs
index 41074c3..0f2076e 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SPAvatar.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SPAvatar.cs
@@ -31,7 +31,7 @@ using OpenSim.Region.Framework.Scenes;
31 31
32namespace OpenSim.Region.OptionalModules.Scripting.Minimodule 32namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
33{ 33{
34 class SPAvatar : IAvatar 34 class SPAvatar : System.MarshalByRefObject, IAvatar
35 { 35 {
36 private readonly Scene m_rootScene; 36 private readonly Scene m_rootScene;
37 private readonly UUID m_ID; 37 private readonly UUID m_ID;
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs
index cbbe86d..dc80dcc 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs
@@ -32,7 +32,7 @@ using OpenSim.Region.Framework.Scenes;
32 32
33namespace OpenSim.Region.OptionalModules.Scripting.Minimodule 33namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
34{ 34{
35 public class World : IWorld 35 public class World : System.MarshalByRefObject, IWorld
36 { 36 {
37 private readonly Scene m_internalScene; 37 private readonly Scene m_internalScene;
38 private readonly Heightmap m_heights; 38 private readonly Heightmap m_heights;