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 --- .../Api/Implementation/AsyncCommandManager.cs | 42 +++++++++++----------- .../Shared/Api/Implementation/LSL_Api.cs | 4 +-- .../Shared/Api/Implementation/OSSL_Api.cs | 4 +-- .../Api/Implementation/Plugins/HttpRequest.cs | 2 +- .../Shared/Api/Implementation/Plugins/Listener.cs | 2 +- .../Api/Implementation/Plugins/XmlRequest.cs | 4 +-- .../ScriptEngine/Shared/CodeTools/Compiler.cs | 4 +-- .../ScriptEngine/Shared/Instance/ScriptInstance.cs | 11 ++++++ 8 files changed, 42 insertions(+), 31 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs index c828d69..71a8d0f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs @@ -48,24 +48,24 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api private static int cmdHandlerThreadCycleSleepms; private static List m_Scenes = new List(); - private static List m_ScriptEngines = - new List(); + private static List m_ScriptEngines = + new List(); - public IEventReceiver m_ScriptEngine; + public IScriptEngine m_ScriptEngine; private IScene m_Scene; - private static Dictionary m_Dataserver = - new Dictionary(); - private static Dictionary m_Timer = - new Dictionary(); - private static Dictionary m_Listener = - new Dictionary(); - private static Dictionary m_HttpRequest = - new Dictionary(); - private static Dictionary m_SensorRepeat = - new Dictionary(); - private static Dictionary m_XmlRequest = - new Dictionary(); + private static Dictionary m_Dataserver = + new Dictionary(); + private static Dictionary m_Timer = + new Dictionary(); + private static Dictionary m_Listener = + new Dictionary(); + private static Dictionary m_HttpRequest = + new Dictionary(); + private static Dictionary m_SensorRepeat = + new Dictionary(); + private static Dictionary m_XmlRequest = + new Dictionary(); public Dataserver DataserverPlugin { @@ -97,12 +97,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api get { return m_XmlRequest[m_ScriptEngine]; } } - public IEventReceiver[] ScriptEngines + public IScriptEngine[] ScriptEngines { get { return m_ScriptEngines.ToArray(); } } - public AsyncCommandManager(IEventReceiver _ScriptEngine) + public AsyncCommandManager(IScriptEngine _ScriptEngine) { m_ScriptEngine = _ScriptEngine; m_Scene = m_ScriptEngine.World; @@ -202,7 +202,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // Check XMLRPCRequests m_XmlRequest[m_ScriptEngines[0]].CheckXMLRPCRequests(); - foreach (IEventReceiver s in m_ScriptEngines) + foreach (IScriptEngine s in m_ScriptEngines) { // Check Listeners m_Listener[s].CheckListeners(); @@ -223,7 +223,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// /// /// - public static void RemoveScript(IEventReceiver engine, uint localID, UUID itemID) + public static void RemoveScript(IScriptEngine engine, uint localID, UUID itemID) { // Remove a specific script @@ -250,7 +250,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } - public static Object[] GetSerializationData(IEventReceiver engine, UUID itemID) + public static Object[] GetSerializationData(IScriptEngine engine, UUID itemID) { List data = new List(); @@ -281,7 +281,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return data.ToArray(); } - public static void CreateFromData(IEventReceiver engine, uint localID, + public static void CreateFromData(IScriptEngine engine, uint localID, UUID itemID, UUID hostID, Object[] data) { int idx = 0; diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 123f98f..59f5ccd 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -66,7 +66,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// public class LSL_Api : MarshalByRefObject, ILSL_Api, IScriptApi { - protected IEventReceiver m_ScriptEngine; + protected IScriptEngine m_ScriptEngine; protected SceneObjectPart m_host; protected uint m_localID; protected UUID m_itemID; @@ -80,7 +80,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api //private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); - public void Initialize(IEventReceiver ScriptEngine, SceneObjectPart host, uint localID, UUID itemID) + public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, uint localID, UUID itemID) { m_ScriptEngine = ScriptEngine; m_host = host; diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 787d951..f9302e9 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -99,7 +99,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api [Serializable] public class OSSL_Api : MarshalByRefObject, IOSSL_Api, IScriptApi { - internal IEventReceiver m_ScriptEngine; + internal IScriptEngine m_ScriptEngine; internal ILSL_Api m_LSL_Api; // get a reference to the LSL API so we can call methods housed there internal SceneObjectPart m_host; internal uint m_localID; @@ -110,7 +110,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api internal float m_ScriptDistanceFactor = 1.0f; internal Dictionary > m_FunctionPerms = new Dictionary >(); - public void Initialize(IEventReceiver ScriptEngine, SceneObjectPart host, uint localID, UUID itemID) + public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, uint localID, UUID itemID) { m_ScriptEngine = ScriptEngine; m_host = host; diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/HttpRequest.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/HttpRequest.cs index 0c77a9d..f5a965b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/HttpRequest.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/HttpRequest.cs @@ -77,7 +77,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins new LSL_Types.LSLString(httpInfo.response_body) }; - foreach (IEventReceiver e in m_CmdManager.ScriptEngines) + foreach (IScriptEngine e in m_CmdManager.ScriptEngines) { if (e.PostObjectEvent(httpInfo.localID, new EventParams("http_response", diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Listener.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Listener.cs index 59d5060..b72d17c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Listener.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Listener.cs @@ -67,7 +67,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins new LSL_Types.LSLString(lInfo.GetMessage()) }; - foreach (IEventReceiver e in m_CmdManager.ScriptEngines) + foreach (IScriptEngine e in m_CmdManager.ScriptEngines) { e.PostScriptEvent( lInfo.GetItemID(), new EventParams( diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/XmlRequest.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/XmlRequest.cs index 1c1ea0b..a7699a1 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/XmlRequest.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/XmlRequest.cs @@ -71,7 +71,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins new LSL_Types.LSLString(rInfo.GetStrVal()) }; - foreach (IEventReceiver e in m_CmdManager.ScriptEngines) + foreach (IScriptEngine e in m_CmdManager.ScriptEngines) { if (e.PostScriptEvent( rInfo.GetItemID(), new EventParams( @@ -100,7 +100,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins new LSL_Types.LSLString(srdInfo.sdata) }; - foreach (IEventReceiver e in m_CmdManager.ScriptEngines) + foreach (IScriptEngine e in m_CmdManager.ScriptEngines) { if (e.PostScriptEvent( srdInfo.m_itemID, new EventParams( diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs index c6026fb..bc75ed5 100644 --- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs +++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs @@ -83,8 +83,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools // private static int instanceID = new Random().Next(0, int.MaxValue); // Unique number to use on our compiled files private static UInt64 scriptCompileCounter = 0; // And a counter - public IEventReceiver m_scriptEngine; - public Compiler(IEventReceiver scriptEngine) + public IScriptEngine m_scriptEngine; + public Compiler(IScriptEngine scriptEngine) { m_scriptEngine = scriptEngine; ReadConfig(); diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index 98d7bbe..30f03ac 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs @@ -848,5 +848,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance return e.ToString(); } + + public string GetAssemblyName() + { + return m_Assembly; + } + + public string GetXMLState() + { + Stop(100); + return ScriptSerializer.Serialize(this); + } } } -- cgit v1.1