From 5e63206018d6d24671ad59d77951082b77f02618 Mon Sep 17 00:00:00 2001 From: Dr Scofield Date: Tue, 1 Jul 2008 07:16:02 +0000 Subject: From: kurt taylor (krtaylor) Another new OSSL function for returning the name of the script engine currently running, osGetScriptEngineName, added to both DotNet and XEngine OSSL API. --- .../Common/BuiltIn_Commands_BaseClass.cs | 5 +++++ .../ScriptEngine/Common/OSSL_BuilIn_Commands.cs | 26 ++++++++++++++++++++++ .../Common/OSSL_BuilIn_Commands_Interface.cs | 2 ++ 3 files changed, 33 insertions(+) (limited to 'OpenSim/Region/ScriptEngine/Common') diff --git a/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs b/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs index 47588b6..90eb8c7 100644 --- a/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs +++ b/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs @@ -2022,6 +2022,11 @@ namespace OpenSim.Region.ScriptEngine.Common m_LSL_Functions.osOpenRemoteDataChannel(channel); } + public string osGetScriptEngineName() + { + return m_LSL_Functions.osGetScriptEngineName(); + } + // public double llList2Float(LSL_Types.list src, int index) diff --git a/OpenSim/Region/ScriptEngine/Common/OSSL_BuilIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/OSSL_BuilIn_Commands.cs index bd7ad82..fc62b02 100644 --- a/OpenSim/Region/ScriptEngine/Common/OSSL_BuilIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/OSSL_BuilIn_Commands.cs @@ -543,5 +543,31 @@ namespace OpenSim.Region.ScriptEngine.Common m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(m_localID, m_itemID, "remote_data", EventQueueManager.llDetectNull, resobj); } } + + public string osGetScriptEngineName() + { + m_host.AddScriptLPS(1); + + int scriptEngineNameIndex = 0; + + if (!String.IsNullOrEmpty(m_ScriptEngine.ScriptEngineName)) + { + // parse off the "ScriptEngine." + scriptEngineNameIndex = m_ScriptEngine.ScriptEngineName.IndexOf(".", scriptEngineNameIndex); + scriptEngineNameIndex++; // get past delimiter + + int scriptEngineNameLength = m_ScriptEngine.ScriptEngineName.Length - scriptEngineNameIndex; + + // create char array then a string that is only the script engine name + Char[] scriptEngineNameCharArray = m_ScriptEngine.ScriptEngineName.ToCharArray(scriptEngineNameIndex, scriptEngineNameLength); + String scriptEngineName = new String(scriptEngineNameCharArray); + + return scriptEngineName; + } + else + { + return String.Empty; + } + } } } diff --git a/OpenSim/Region/ScriptEngine/Common/OSSL_BuilIn_Commands_Interface.cs b/OpenSim/Region/ScriptEngine/Common/OSSL_BuilIn_Commands_Interface.cs index 171bffd..4f7b56e 100644 --- a/OpenSim/Region/ScriptEngine/Common/OSSL_BuilIn_Commands_Interface.cs +++ b/OpenSim/Region/ScriptEngine/Common/OSSL_BuilIn_Commands_Interface.cs @@ -64,5 +64,7 @@ namespace OpenSim.Region.ScriptEngine.Common void osOpenRemoteDataChannel(string channel); + string osGetScriptEngineName(); + } } -- cgit v1.1