Refactor IEventReceiver back into IScriptEngine

This commit is contained in:
Melanie Thielker
2008-11-08 02:24:34 +00:00
parent 8699c2b3b9
commit 833f5e8bed
15 changed files with 110 additions and 105 deletions

View File

@@ -48,24 +48,24 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
private static int cmdHandlerThreadCycleSleepms;
private static List<IScene> m_Scenes = new List<IScene>();
private static List<IEventReceiver> m_ScriptEngines =
new List<IEventReceiver>();
private static List<IScriptEngine> m_ScriptEngines =
new List<IScriptEngine>();
public IEventReceiver m_ScriptEngine;
public IScriptEngine m_ScriptEngine;
private IScene m_Scene;
private static Dictionary<IEventReceiver, Dataserver> m_Dataserver =
new Dictionary<IEventReceiver, Dataserver>();
private static Dictionary<IEventReceiver, Timer> m_Timer =
new Dictionary<IEventReceiver, Timer>();
private static Dictionary<IEventReceiver, Listener> m_Listener =
new Dictionary<IEventReceiver, Listener>();
private static Dictionary<IEventReceiver, HttpRequest> m_HttpRequest =
new Dictionary<IEventReceiver, HttpRequest>();
private static Dictionary<IEventReceiver, SensorRepeat> m_SensorRepeat =
new Dictionary<IEventReceiver, SensorRepeat>();
private static Dictionary<IEventReceiver, XmlRequest> m_XmlRequest =
new Dictionary<IEventReceiver, XmlRequest>();
private static Dictionary<IScriptEngine, Dataserver> m_Dataserver =
new Dictionary<IScriptEngine, Dataserver>();
private static Dictionary<IScriptEngine, Timer> m_Timer =
new Dictionary<IScriptEngine, Timer>();
private static Dictionary<IScriptEngine, Listener> m_Listener =
new Dictionary<IScriptEngine, Listener>();
private static Dictionary<IScriptEngine, HttpRequest> m_HttpRequest =
new Dictionary<IScriptEngine, HttpRequest>();
private static Dictionary<IScriptEngine, SensorRepeat> m_SensorRepeat =
new Dictionary<IScriptEngine, SensorRepeat>();
private static Dictionary<IScriptEngine, XmlRequest> m_XmlRequest =
new Dictionary<IScriptEngine, XmlRequest>();
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
/// </summary>
/// <param name="localID"></param>
/// <param name="itemID"></param>
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<Object> data = new List<Object>();
@@ -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;

View File

@@ -66,7 +66,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
/// </summary>
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;

View File

@@ -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<string, List<UUID> > m_FunctionPerms = new Dictionary<string, List<UUID> >();
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;

View File

@@ -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",

View File

@@ -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(

View File

@@ -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(

View File

@@ -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();

View File

@@ -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);
}
}
}