Add a method to query all registered script constants to allow non-XEngine

script engines to use them.
integration
Melanie 2012-11-04 22:01:34 +01:00
parent 895d28f14d
commit f391d028de
2 changed files with 18 additions and 0 deletions

View File

@ -361,6 +361,22 @@ namespace OpenSim.Region.OptionalModules.Scripting.ScriptModuleComms
return null; return null;
} }
/// <summary>
/// Get all registered constants
/// </summary>
public Dictionary<string, object> GetConstants()
{
Dictionary<string, object> ret = new Dictionary<string, object>();
lock (m_constants)
{
foreach (KeyValuePair<string, object> kvp in m_constants)
ret[kvp.Key] = kvp.Value;
}
return ret;
}
#endregion #endregion
} }

View File

@ -27,6 +27,7 @@
using System; using System;
using System.Reflection; using System.Reflection;
using System.Collections.Generic;
using OpenMetaverse; using OpenMetaverse;
namespace OpenSim.Region.Framework.Interfaces namespace OpenSim.Region.Framework.Interfaces
@ -131,6 +132,7 @@ namespace OpenSim.Region.Framework.Interfaces
/// <param name="cname">Name of constant</param> /// <param name="cname">Name of constant</param>
/// <returns>Value of constant or null if none found.</returns> /// <returns>Value of constant or null if none found.</returns>
object LookupModConstant(string cname); object LookupModConstant(string cname);
Dictionary<string, object> GetConstants();
// For use ONLY by the script API // For use ONLY by the script API
void RaiseEvent(UUID script, string id, string module, string command, string key); void RaiseEvent(UUID script, string id, string module, string command, string key);