mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 06:06:06 +08:00
* Use the commander name to register module commanders instead of providing the information twice
This commit is contained in:
@@ -41,18 +41,36 @@ namespace OpenSim.Region.Environment.Modules.Framework.InterfaceCommander
|
||||
public class Commander : ICommander
|
||||
{
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
private Dictionary<string, ICommand> m_commands = new Dictionary<string, ICommand>();
|
||||
|
||||
/// <value>
|
||||
/// Used in runtime class generation
|
||||
/// </summary>
|
||||
private string m_generatedApiClassName;
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return m_name; }
|
||||
}
|
||||
private string m_name;
|
||||
|
||||
/// <summary>
|
||||
/// Constructor
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
public Commander(string name)
|
||||
{
|
||||
m_name = name;
|
||||
m_generatedApiClassName = m_name;
|
||||
}
|
||||
|
||||
/// <value>
|
||||
/// Commands that this commander knows about
|
||||
/// </value>
|
||||
public Dictionary<string, ICommand> Commands
|
||||
{
|
||||
get { return m_commands; }
|
||||
}
|
||||
private Dictionary<string, ICommand> m_commands = new Dictionary<string, ICommand>();
|
||||
|
||||
#region ICommander Members
|
||||
|
||||
@@ -67,7 +85,7 @@ namespace OpenSim.Region.Environment.Modules.Framework.InterfaceCommander
|
||||
/// <returns>Returns C# source code to create a binding</returns>
|
||||
public string GenerateRuntimeAPI()
|
||||
{
|
||||
string classSrc = "\n\tpublic class " + m_name + " {\n";
|
||||
string classSrc = "\n\tpublic class " + m_generatedApiClassName + " {\n";
|
||||
foreach (ICommand com in m_commands.Values)
|
||||
{
|
||||
classSrc += "\tpublic void " + EscapeRuntimeAPICommand(com.Name) + "( ";
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace OpenSim.Region.Environment.Modules.Framework.InterfaceCommander
|
||||
m_commander.RegisterCommand("hello", testCommand);
|
||||
|
||||
// Register me
|
||||
m_scene.RegisterModuleCommander("commandertest", m_commander);
|
||||
m_scene.RegisterModuleCommander(m_commander);
|
||||
}
|
||||
|
||||
public void Close()
|
||||
|
||||
Reference in New Issue
Block a user