aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Interfaces
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-01-15 21:13:22 +0000
committerJustin Clark-Casey (justincc)2013-01-15 21:13:22 +0000
commitfccb03227e3f541a4c2f4e0e619074e4c1fb55dd (patch)
treeaa37ee5014fe71bb07d1d4e296a7ac3821c84da4 /OpenSim/Region/ScriptEngine/Interfaces
parentPrint full stacktrace from plugin loading failure to help determine what went... (diff)
downloadopensim-SC_OLD-fccb03227e3f541a4c2f4e0e619074e4c1fb55dd.zip
opensim-SC_OLD-fccb03227e3f541a4c2f4e0e619074e4c1fb55dd.tar.gz
opensim-SC_OLD-fccb03227e3f541a4c2f4e0e619074e4c1fb55dd.tar.bz2
opensim-SC_OLD-fccb03227e3f541a4c2f4e0e619074e4c1fb55dd.tar.xz
Instead of passing separate engine, part and item components to script APIs, pass down IScriptInstance instead.
This is to allow the future co-operative script thread terminate feature to detect and act upon termination requests. This splits the assembly and state loading out from the ScriptInstance() constructor to a separate Load() method in order to facilititate continued script logic regression testing.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Interfaces')
-rw-r--r--OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs10
-rw-r--r--OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs12
2 files changed, 16 insertions, 6 deletions
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs
index 2027ca6..e95cbd7 100644
--- a/OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs
+++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs
@@ -29,6 +29,7 @@ using System;
29using OpenMetaverse; 29using OpenMetaverse;
30using OpenSim.Framework; 30using OpenSim.Framework;
31using OpenSim.Region.Framework.Scenes; 31using OpenSim.Region.Framework.Scenes;
32using OpenSim.Region.ScriptEngine.Shared;
32 33
33namespace OpenSim.Region.ScriptEngine.Interfaces 34namespace OpenSim.Region.ScriptEngine.Interfaces
34{ 35{
@@ -38,11 +39,8 @@ namespace OpenSim.Region.ScriptEngine.Interfaces
38 /// Initialize the API 39 /// Initialize the API
39 /// </summary> 40 /// </summary>
40 /// <remarks> 41 /// <remarks>
41 /// Each API has an identifier, which is used to load the 42 /// Each API has an identifier, which is used to load the proper runtime assembly at load time.
42 /// proper runtime assembly at load time. 43 /// <param name='scriptInstance'>/param>
43 /// <param name='engine'>/param> 44 void Initialize(IScriptInstance scriptInstance);
44 /// <param name='part'></param>
45 /// <param name='item'></param>
46 void Initialize(IScriptEngine engine, SceneObjectPart part, TaskInventoryItem item);
47 } 45 }
48} \ No newline at end of file 46} \ No newline at end of file
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs
index 2f5b526..9de2d72 100644
--- a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs
+++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs
@@ -31,6 +31,7 @@ using System.Collections.Generic;
31using OpenMetaverse; 31using OpenMetaverse;
32using log4net; 32using log4net;
33using OpenSim.Framework; 33using OpenSim.Framework;
34using OpenSim.Region.Framework.Scenes;
34using OpenSim.Region.ScriptEngine.Shared; 35using OpenSim.Region.ScriptEngine.Shared;
35using OpenSim.Region.ScriptEngine.Interfaces; 36using OpenSim.Region.ScriptEngine.Interfaces;
36 37
@@ -105,6 +106,11 @@ namespace OpenSim.Region.ScriptEngine.Interfaces
105 /// </summary> 106 /// </summary>
106 long MeasurementPeriodExecutionTime { get; } 107 long MeasurementPeriodExecutionTime { get; }
107 108
109 /// <summary>
110 /// Scene part in which this script instance is contained.
111 /// </summary>
112 SceneObjectPart Part { get; }
113
108 IScriptEngine Engine { get; } 114 IScriptEngine Engine { get; }
109 UUID AppDomain { get; set; } 115 UUID AppDomain { get; set; }
110 string PrimName { get; } 116 string PrimName { get; }
@@ -124,6 +130,12 @@ namespace OpenSim.Region.ScriptEngine.Interfaces
124 130
125 uint LocalID { get; } 131 uint LocalID { get; }
126 UUID AssetID { get; } 132 UUID AssetID { get; }
133
134 /// <summary>
135 /// Inventory item containing the script used.
136 /// </summary>
137 TaskInventoryItem ScriptTask { get; }
138
127 Queue EventQueue { get; } 139 Queue EventQueue { get; }
128 140
129 /// <summary> 141 /// <summary>