aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorMelanie2009-08-04 03:17:13 +0100
committerMelanie2009-08-04 03:17:13 +0100
commit17bdc45c5ce623549b185a6c4bd5e8fdf00c8d8e (patch)
treeb1e75c63acc472c6e211f2054abedf99ccf1bf06 /OpenSim/Region/ScriptEngine
parentMinor: formatting changes. (diff)
downloadopensim-SC-17bdc45c5ce623549b185a6c4bd5e8fdf00c8d8e.zip
opensim-SC-17bdc45c5ce623549b185a6c4bd5e8fdf00c8d8e.tar.gz
opensim-SC-17bdc45c5ce623549b185a6c4bd5e8fdf00c8d8e.tar.bz2
opensim-SC-17bdc45c5ce623549b185a6c4bd5e8fdf00c8d8e.tar.xz
Add plumbing for the SceneObjectDeleter to wait for the script engine to
allow final deletion of objects. Meant to support the attach(NULL_KEY) event,
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs5
-rw-r--r--OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs1
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs5
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/XEngine.cs9
4 files changed, 20 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs
index ec94afa..987827c 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs
@@ -476,5 +476,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
476 { 476 {
477 return ""; 477 return "";
478 } 478 }
479
480 public bool CanBeDeleted(UUID itemID)
481 {
482 return true;
483 }
479 } 484 }
480} 485}
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs
index 64f7077..c2fce2f 100644
--- a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs
+++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs
@@ -95,6 +95,7 @@ namespace OpenSim.Region.ScriptEngine.Interfaces
95 UUID GetDetectID(int idx); 95 UUID GetDetectID(int idx);
96 void SaveState(string assembly); 96 void SaveState(string assembly);
97 void DestroyScriptInstance(); 97 void DestroyScriptInstance();
98 bool CanBeDeleted();
98 99
99 IScriptApi GetApi(string name); 100 IScriptApi GetApi(string name);
100 101
diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
index 2457b3a..42d61a7 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
@@ -991,5 +991,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
991 { 991 {
992 get { return m_RegionID; } 992 get { return m_RegionID; }
993 } 993 }
994
995 public bool CanBeDeleted()
996 {
997 return true;
998 }
994 } 999 }
995} 1000}
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index dff53dd..c7673c7 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -1241,5 +1241,14 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1241 return ""; 1241 return "";
1242 return instance.GetXMLState(); 1242 return instance.GetXMLState();
1243 } 1243 }
1244
1245 public bool CanBeDeleted(UUID itemID)
1246 {
1247 IScriptInstance instance = GetInstance(itemID);
1248 if (instance == null)
1249 return true;
1250
1251 return instance.CanBeDeleted();
1252 }
1244 } 1253 }
1245} 1254}