aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Interfaces
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/Interfaces/ICompiler.cs (renamed from OpenSim/Region/ScriptEngine/XEngine/Script/IScript.cs)17
-rw-r--r--OpenSim/Region/ScriptEngine/Interfaces/IScript.cs17
-rw-r--r--OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs43
-rw-r--r--OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs (renamed from OpenSim/Region/ScriptEngine/XEngine/AsyncCommandPlugins/Eventstream.cs)66
4 files changed, 90 insertions, 53 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/Script/IScript.cs b/OpenSim/Region/ScriptEngine/Interfaces/ICompiler.cs
index e5d0b33..efb05d3 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/Script/IScript.cs
+++ b/OpenSim/Region/ScriptEngine/Interfaces/ICompiler.cs
@@ -25,22 +25,15 @@
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 System.Reflection;
29using System; 28using System;
30using System.Collections;
31using System.Collections.Generic; 29using System.Collections.Generic;
32using OpenSim.Region.Environment.Interfaces; 30using Nini.Config;
33 31
34namespace OpenSim.Region.ScriptEngine.XEngine.Script 32namespace OpenSim.Region.ScriptEngine.Interfaces
35{ 33{
36 public interface IScript 34 public interface ICompiler
37 { 35 {
38 Type Start(ILSL_ScriptCommands lsl, IOSSL_ScriptCommands ossl); 36 void Configure(IConfig configSource);
39 37 void Compile(string text, string outFile, List<IScriptApi> apiList);
40 Dictionary<string, object> GetVars();
41 void SetVars(Dictionary<string, object> vars);
42 void ResetVars();
43
44 string State { get; set; }
45 } 38 }
46} 39}
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScript.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScript.cs
new file mode 100644
index 0000000..553d56d
--- /dev/null
+++ b/OpenSim/Region/ScriptEngine/Interfaces/IScript.cs
@@ -0,0 +1,17 @@
1using System;
2using System.Collections;
3using System.Collections.Generic;
4using OpenSim.Region.ScriptEngine.Interfaces;
5
6namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
7{
8 public interface IScript
9 {
10 string[] GetApis();
11 void InitApi(string name, IScriptApi data);
12
13 Dictionary<string,Object> GetVars();
14 void SetVars(Dictionary<string,Object> vars);
15 void ResetVars();
16 }
17}
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs
new file mode 100644
index 0000000..2df41d0
--- /dev/null
+++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptApi.cs
@@ -0,0 +1,43 @@
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 System;
29using libsecondlife;
30using OpenSim.Region.Environment.Scenes;
31
32
33namespace OpenSim.Region.ScriptEngine.Interfaces
34{
35 public interface IScriptApi
36 {
37 //
38 // Each API has an identifier, which is used to load the
39 // proper runtime assembly at load time.
40 //
41 void Initialize(IScriptEngine engine, SceneObjectPart part, uint localID, LLUUID item);
42 }
43}
diff --git a/OpenSim/Region/ScriptEngine/XEngine/AsyncCommandPlugins/Eventstream.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs
index dab7a0a..2fa67a4 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/AsyncCommandPlugins/Eventstream.cs
+++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs
@@ -25,51 +25,35 @@
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 log4net;
28using System; 29using System;
29using System.Collections; 30using OpenSim.Region.ScriptEngine.Shared;
30using System.Collections.Generic;
31using libsecondlife;
32using OpenSim.Region.Environment.Scenes; 31using OpenSim.Region.Environment.Scenes;
32using libsecondlife;
33using Nini.Config;
34using OpenSim.Region.ScriptEngine.Interfaces;
33 35
34namespace OpenSim.Region.ScriptEngine.XEngine.AsyncCommandPlugins 36namespace OpenSim.Region.ScriptEngine.Interfaces
35{ 37{
36 public class Eventstream 38 public interface IScriptEngine
37 { 39 {
38 public AsyncCommandManager m_CmdManager; 40 //
39 41 // An interface for a script API module to communicate with
40 private class Event 42 // the engine it's running under
41 { 43 //
42 public uint LocalID; 44
43 public string EventName; 45 Scene World { get; }
44 public Dictionary<LLUUID, XDetectParams> DetectParams; 46 IConfig Config { get; }
45 } 47 Object AsyncCommands { get; }
46 48 ILog Log { get; }
47 private Dictionary<uint, Dictionary<string, Event> > m_Events = 49
48 new Dictionary<uint, Dictionary<string, Event> >(); 50 bool PostScriptEvent(LLUUID itemID, EventParams parms);
49 51 bool PostObjectEvent(uint localID, EventParams parms);
50 public Eventstream(AsyncCommandManager CmdManager) 52 void ResetScript(LLUUID itemID);
51 { 53 void SetScriptState(LLUUID itemID, bool state);
52 m_CmdManager = CmdManager; 54 bool GetScriptState(LLUUID itemID);
53 } 55 void SetState(LLUUID itemID, string newState);
54 56
55 public void AddObjectEvent(uint localID, string eventName, XDetectParams det) 57 DetectParams GetDetectParams(LLUUID item, int number);
56 {
57 SceneObjectPart part = m_CmdManager.m_ScriptEngine.World.
58 GetSceneObjectPart(localID);
59
60 if (part == null) // Can't register events for non-prims
61 return;
62
63 if (!part.ContainsScripts())
64 return;
65 }
66
67 public void RemoveObjectEvent(uint localID, string eventName, LLUUID id)
68 {
69 }
70
71 public void RemoveObjects(uint localID)
72 {
73 }
74 } 58 }
75} 59}