aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Interfaces
diff options
context:
space:
mode:
authorMelanie Thielker2008-11-08 02:24:34 +0000
committerMelanie Thielker2008-11-08 02:24:34 +0000
commit833f5e8bed5b36501c4579859e380038400ecb75 (patch)
treec785b4178baa18f49490e572f3013e531921e349 /OpenSim/Region/ScriptEngine/Interfaces
parent* Correct catch changed on last commit, since I just realized I started makin... (diff)
downloadopensim-SC_OLD-833f5e8bed5b36501c4579859e380038400ecb75.zip
opensim-SC_OLD-833f5e8bed5b36501c4579859e380038400ecb75.tar.gz
opensim-SC_OLD-833f5e8bed5b36501c4579859e380038400ecb75.tar.bz2
opensim-SC_OLD-833f5e8bed5b36501c4579859e380038400ecb75.tar.xz
Refactor IEventReceiver back into IScriptEngine
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Interfaces')
-rw-r--r--OpenSim/Region/ScriptEngine/Interfaces/IEventReceiver.cs71
-rw-r--r--OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs31
-rw-r--r--OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs3
4 files changed, 34 insertions, 73 deletions
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IEventReceiver.cs b/OpenSim/Region/ScriptEngine/Interfaces/IEventReceiver.cs
deleted file mode 100644
index 898d670..0000000
--- a/OpenSim/Region/ScriptEngine/Interfaces/IEventReceiver.cs
+++ /dev/null
@@ -1,71 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using log4net;
29using System;
30using OpenSim.Region.ScriptEngine.Shared;
31using OpenSim.Region.Environment.Scenes;
32using OpenMetaverse;
33using Nini.Config;
34using OpenSim.Region.ScriptEngine.Interfaces;
35using Amib.Threading;
36using OpenSim.Framework;
37
38namespace OpenSim.Region.ScriptEngine.Interfaces
39{
40 /// <summary>
41 /// An interface for a script API module to communicate with
42 /// the engine it's running under
43 /// </summary>
44 public interface IEventReceiver
45 {
46 Scene World { get; }
47
48 /// <summary>
49 /// Post an event to a single script
50 /// </summary>
51 bool PostScriptEvent(UUID itemID, EventParams parms);
52
53 /// <summary>
54 /// Post event to an entire prim
55 /// </summary>
56 bool PostObjectEvent(uint localID, EventParams parms);
57
58 DetectParams GetDetectParams(UUID item, int number);
59 int GetStartParameter(UUID itemID);
60
61 void SetScriptState(UUID itemID, bool state);
62 bool GetScriptState(UUID itemID);
63 void SetState(UUID itemID, string newState);
64 void ApiResetScript(UUID itemID);
65 void ResetScript(UUID itemID);
66 IConfig Config { get; }
67 string ScriptEngineName { get; }
68 ILog Log { get; }
69 IScriptApi GetApi(UUID itemID, string name);
70 }
71}
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs
index 13f043d..e94de68 100644
--- a/OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs
+++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs
@@ -38,6 +38,6 @@ namespace OpenSim.Region.ScriptEngine.Interfaces
38 // Each API has an identifier, which is used to load the 38 // Each API has an identifier, which is used to load the
39 // proper runtime assembly at load time. 39 // proper runtime assembly at load time.
40 // 40 //
41 void Initialize(IEventReceiver engine, SceneObjectPart part, uint localID, UUID item); 41 void Initialize(IScriptEngine engine, SceneObjectPart part, uint localID, UUID item);
42 } 42 }
43} 43}
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs
index 5bd2f79..29b83dc 100644
--- a/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs
+++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs
@@ -33,6 +33,7 @@ using OpenMetaverse;
33using Nini.Config; 33using Nini.Config;
34using OpenSim.Region.ScriptEngine.Interfaces; 34using OpenSim.Region.ScriptEngine.Interfaces;
35using Amib.Threading; 35using Amib.Threading;
36using OpenSim.Framework;
36 37
37namespace OpenSim.Region.ScriptEngine.Interfaces 38namespace OpenSim.Region.ScriptEngine.Interfaces
38{ 39{
@@ -40,11 +41,39 @@ namespace OpenSim.Region.ScriptEngine.Interfaces
40 /// An interface for a script API module to communicate with 41 /// An interface for a script API module to communicate with
41 /// the engine it's running under 42 /// the engine it's running under
42 /// </summary> 43 /// </summary>
43 public interface IScriptEngine : IEventReceiver 44 public interface IScriptEngine
44 { 45 {
45 /// <summary> 46 /// <summary>
46 /// Queue an event for execution 47 /// Queue an event for execution
47 /// </summary> 48 /// </summary>
48 IScriptWorkItem QueueEventHandler(object parms); 49 IScriptWorkItem QueueEventHandler(object parms);
50
51 Scene World { get; }
52
53 /// <summary>
54 /// Post an event to a single script
55 /// </summary>
56 bool PostScriptEvent(UUID itemID, EventParams parms);
57
58 /// <summary>
59 /// Post event to an entire prim
60 /// </summary>
61 bool PostObjectEvent(uint localID, EventParams parms);
62
63 DetectParams GetDetectParams(UUID item, int number);
64 int GetStartParameter(UUID itemID);
65
66 void SetScriptState(UUID itemID, bool state);
67 bool GetScriptState(UUID itemID);
68 void SetState(UUID itemID, string newState);
69 void ApiResetScript(UUID itemID);
70 void ResetScript(UUID itemID);
71 IConfig Config { get; }
72 string ScriptEngineName { get; }
73 ILog Log { get; }
74 IScriptApi GetApi(UUID itemID, string name);
75
76 string GetAssemblyName(UUID itemID);
77 string GetXMLState(UUID itemID);
49 } 78 }
50} 79}
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs
index dee7970..508e00f 100644
--- a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs
+++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs
@@ -99,5 +99,8 @@ namespace OpenSim.Region.ScriptEngine.Interfaces
99 99
100 Dictionary<KeyValuePair<int, int>, KeyValuePair<int, int>> LineMap 100 Dictionary<KeyValuePair<int, int>, KeyValuePair<int, int>> LineMap
101 { get; set; } 101 { get; set; }
102
103 string GetAssemblyName();
104 string GetXMLState();
102 } 105 }
103} 106}