diff options
author | Justin Clark-Casey (justincc) | 2013-01-15 21:13:22 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-01-15 21:13:22 +0000 |
commit | fccb03227e3f541a4c2f4e0e619074e4c1fb55dd (patch) | |
tree | aa37ee5014fe71bb07d1d4e296a7ac3821c84da4 /OpenSim/Region/ScriptEngine/Interfaces | |
parent | Print full stacktrace from plugin loading failure to help determine what went... (diff) | |
download | opensim-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.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs | 12 |
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; | |||
29 | using OpenMetaverse; | 29 | using OpenMetaverse; |
30 | using OpenSim.Framework; | 30 | using OpenSim.Framework; |
31 | using OpenSim.Region.Framework.Scenes; | 31 | using OpenSim.Region.Framework.Scenes; |
32 | using OpenSim.Region.ScriptEngine.Shared; | ||
32 | 33 | ||
33 | namespace OpenSim.Region.ScriptEngine.Interfaces | 34 | namespace 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; | |||
31 | using OpenMetaverse; | 31 | using OpenMetaverse; |
32 | using log4net; | 32 | using log4net; |
33 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
34 | using OpenSim.Region.Framework.Scenes; | ||
34 | using OpenSim.Region.ScriptEngine.Shared; | 35 | using OpenSim.Region.ScriptEngine.Shared; |
35 | using OpenSim.Region.ScriptEngine.Interfaces; | 36 | using 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> |