From 833f5e8bed5b36501c4579859e380038400ecb75 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sat, 8 Nov 2008 02:24:34 +0000 Subject: Refactor IEventReceiver back into IScriptEngine --- .../ScriptEngine/Interfaces/IEventReceiver.cs | 71 ---------------------- .../Region/ScriptEngine/Interfaces/IScriptApi.cs | 2 +- .../ScriptEngine/Interfaces/IScriptEngine.cs | 31 +++++++++- .../ScriptEngine/Interfaces/IScriptInstance.cs | 3 + 4 files changed, 34 insertions(+), 73 deletions(-) delete mode 100644 OpenSim/Region/ScriptEngine/Interfaces/IEventReceiver.cs (limited to 'OpenSim/Region/ScriptEngine/Interfaces') 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 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using log4net; -using System; -using OpenSim.Region.ScriptEngine.Shared; -using OpenSim.Region.Environment.Scenes; -using OpenMetaverse; -using Nini.Config; -using OpenSim.Region.ScriptEngine.Interfaces; -using Amib.Threading; -using OpenSim.Framework; - -namespace OpenSim.Region.ScriptEngine.Interfaces -{ - /// - /// An interface for a script API module to communicate with - /// the engine it's running under - /// - public interface IEventReceiver - { - Scene World { get; } - - /// - /// Post an event to a single script - /// - bool PostScriptEvent(UUID itemID, EventParams parms); - - /// - /// Post event to an entire prim - /// - bool PostObjectEvent(uint localID, EventParams parms); - - DetectParams GetDetectParams(UUID item, int number); - int GetStartParameter(UUID itemID); - - void SetScriptState(UUID itemID, bool state); - bool GetScriptState(UUID itemID); - void SetState(UUID itemID, string newState); - void ApiResetScript(UUID itemID); - void ResetScript(UUID itemID); - IConfig Config { get; } - string ScriptEngineName { get; } - ILog Log { get; } - IScriptApi GetApi(UUID itemID, string name); - } -} 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 // Each API has an identifier, which is used to load the // proper runtime assembly at load time. // - void Initialize(IEventReceiver engine, SceneObjectPart part, uint localID, UUID item); + void Initialize(IScriptEngine engine, SceneObjectPart part, uint localID, UUID item); } } 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; using Nini.Config; using OpenSim.Region.ScriptEngine.Interfaces; using Amib.Threading; +using OpenSim.Framework; namespace OpenSim.Region.ScriptEngine.Interfaces { @@ -40,11 +41,39 @@ namespace OpenSim.Region.ScriptEngine.Interfaces /// An interface for a script API module to communicate with /// the engine it's running under /// - public interface IScriptEngine : IEventReceiver + public interface IScriptEngine { /// /// Queue an event for execution /// IScriptWorkItem QueueEventHandler(object parms); + + Scene World { get; } + + /// + /// Post an event to a single script + /// + bool PostScriptEvent(UUID itemID, EventParams parms); + + /// + /// Post event to an entire prim + /// + bool PostObjectEvent(uint localID, EventParams parms); + + DetectParams GetDetectParams(UUID item, int number); + int GetStartParameter(UUID itemID); + + void SetScriptState(UUID itemID, bool state); + bool GetScriptState(UUID itemID); + void SetState(UUID itemID, string newState); + void ApiResetScript(UUID itemID); + void ResetScript(UUID itemID); + IConfig Config { get; } + string ScriptEngineName { get; } + ILog Log { get; } + IScriptApi GetApi(UUID itemID, string name); + + string GetAssemblyName(UUID itemID); + string GetXMLState(UUID itemID); } } 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 Dictionary, KeyValuePair> LineMap { get; set; } + + string GetAssemblyName(); + string GetXMLState(); } } -- cgit v1.1