diff options
author | Dr Scofield | 2008-07-01 07:16:02 +0000 |
---|---|---|
committer | Dr Scofield | 2008-07-01 07:16:02 +0000 |
commit | 5e63206018d6d24671ad59d77951082b77f02618 (patch) | |
tree | 28da5c8f920b1dc9afa83d8c68ceb5d6e43aee32 | |
parent | Mantis#1639. Thank you, Melanie for a patch that: (diff) | |
download | opensim-SC-5e63206018d6d24671ad59d77951082b77f02618.zip opensim-SC-5e63206018d6d24671ad59d77951082b77f02618.tar.gz opensim-SC-5e63206018d6d24671ad59d77951082b77f02618.tar.bz2 opensim-SC-5e63206018d6d24671ad59d77951082b77f02618.tar.xz |
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.
7 files changed, 67 insertions, 0 deletions
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 | |||
2022 | m_LSL_Functions.osOpenRemoteDataChannel(channel); | 2022 | m_LSL_Functions.osOpenRemoteDataChannel(channel); |
2023 | } | 2023 | } |
2024 | 2024 | ||
2025 | public string osGetScriptEngineName() | ||
2026 | { | ||
2027 | return m_LSL_Functions.osGetScriptEngineName(); | ||
2028 | } | ||
2029 | |||
2025 | // | 2030 | // |
2026 | 2031 | ||
2027 | public double llList2Float(LSL_Types.list src, int index) | 2032 | 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 | |||
543 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(m_localID, m_itemID, "remote_data", EventQueueManager.llDetectNull, resobj); | 543 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(m_localID, m_itemID, "remote_data", EventQueueManager.llDetectNull, resobj); |
544 | } | 544 | } |
545 | } | 545 | } |
546 | |||
547 | public string osGetScriptEngineName() | ||
548 | { | ||
549 | m_host.AddScriptLPS(1); | ||
550 | |||
551 | int scriptEngineNameIndex = 0; | ||
552 | |||
553 | if (!String.IsNullOrEmpty(m_ScriptEngine.ScriptEngineName)) | ||
554 | { | ||
555 | // parse off the "ScriptEngine." | ||
556 | scriptEngineNameIndex = m_ScriptEngine.ScriptEngineName.IndexOf(".", scriptEngineNameIndex); | ||
557 | scriptEngineNameIndex++; // get past delimiter | ||
558 | |||
559 | int scriptEngineNameLength = m_ScriptEngine.ScriptEngineName.Length - scriptEngineNameIndex; | ||
560 | |||
561 | // create char array then a string that is only the script engine name | ||
562 | Char[] scriptEngineNameCharArray = m_ScriptEngine.ScriptEngineName.ToCharArray(scriptEngineNameIndex, scriptEngineNameLength); | ||
563 | String scriptEngineName = new String(scriptEngineNameCharArray); | ||
564 | |||
565 | return scriptEngineName; | ||
566 | } | ||
567 | else | ||
568 | { | ||
569 | return String.Empty; | ||
570 | } | ||
571 | } | ||
546 | } | 572 | } |
547 | } | 573 | } |
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 | |||
64 | 64 | ||
65 | void osOpenRemoteDataChannel(string channel); | 65 | void osOpenRemoteDataChannel(string channel); |
66 | 66 | ||
67 | string osGetScriptEngineName(); | ||
68 | |||
67 | } | 69 | } |
68 | } | 70 | } |
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs index 579af31..856f228 100644 --- a/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs +++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs | |||
@@ -46,6 +46,7 @@ namespace OpenSim.Region.ScriptEngine.Interfaces | |||
46 | IConfig Config { get; } | 46 | IConfig Config { get; } |
47 | Object AsyncCommands { get; } | 47 | Object AsyncCommands { get; } |
48 | ILog Log { get; } | 48 | ILog Log { get; } |
49 | string ScriptEngineName { get; } | ||
49 | 50 | ||
50 | bool PostScriptEvent(LLUUID itemID, EventParams parms); | 51 | bool PostScriptEvent(LLUUID itemID, EventParams parms); |
51 | bool PostObjectEvent(uint localID, EventParams parms); | 52 | bool PostObjectEvent(uint localID, EventParams parms); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index dbb78a4..5414b95 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -549,5 +549,31 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
549 | { | 549 | { |
550 | throw new Exception("OSSL Runtime Error: " + msg); | 550 | throw new Exception("OSSL Runtime Error: " + msg); |
551 | } | 551 | } |
552 | |||
553 | public string osGetScriptEngineName() | ||
554 | { | ||
555 | m_host.AddScriptLPS(1); | ||
556 | |||
557 | int scriptEngineNameIndex = 0; | ||
558 | |||
559 | if (!String.IsNullOrEmpty(m_ScriptEngine.ScriptEngineName)) | ||
560 | { | ||
561 | // parse off the "ScriptEngine." | ||
562 | scriptEngineNameIndex = m_ScriptEngine.ScriptEngineName.IndexOf(".", scriptEngineNameIndex); | ||
563 | scriptEngineNameIndex++; // get past delimiter | ||
564 | |||
565 | int scriptEngineNameLength = m_ScriptEngine.ScriptEngineName.Length - scriptEngineNameIndex; | ||
566 | |||
567 | // create char array then a string that is only the script engine name | ||
568 | Char[] scriptEngineNameCharArray = m_ScriptEngine.ScriptEngineName.ToCharArray(scriptEngineNameIndex, scriptEngineNameLength); | ||
569 | String scriptEngineName = new String(scriptEngineNameCharArray); | ||
570 | |||
571 | return scriptEngineName; | ||
572 | } | ||
573 | else | ||
574 | { | ||
575 | return String.Empty; | ||
576 | } | ||
577 | } | ||
552 | } | 578 | } |
553 | } | 579 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index 1e14c63..d55491c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs | |||
@@ -64,5 +64,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
64 | 64 | ||
65 | double osList2Double(LSL_Types.list src, int index); | 65 | double osList2Double(LSL_Types.list src, int index); |
66 | void osSetRegionWaterHeight(double height); | 66 | void osSetRegionWaterHeight(double height); |
67 | |||
68 | string osGetScriptEngineName(); | ||
67 | } | 69 | } |
68 | } | 70 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index 34e2fb1..90c4419 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | |||
@@ -195,5 +195,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
195 | { | 195 | { |
196 | m_OSSL_Functions.osSetStateEvents(events); | 196 | m_OSSL_Functions.osSetStateEvents(events); |
197 | } | 197 | } |
198 | |||
199 | public string osGetScriptEngineName() | ||
200 | { | ||
201 | return m_OSSL_Functions.osGetScriptEngineName(); | ||
202 | } | ||
198 | } | 203 | } |
199 | } | 204 | } |