diff --git a/OpenSim/Region/Environment/Interfaces/ICommander.cs b/OpenSim/Region/Environment/Interfaces/ICommander.cs
index c4102af7d7..a267115beb 100644
--- a/OpenSim/Region/Environment/Interfaces/ICommander.cs
+++ b/OpenSim/Region/Environment/Interfaces/ICommander.cs
@@ -29,6 +29,11 @@ namespace OpenSim.Region.Environment.Interfaces
{
public interface ICommander
{
+ ///
+ /// The name of this commander
+ ///
+ string Name { get; }
+
void ProcessConsoleCommand(string function, string[] args);
void RegisterCommand(string commandName, ICommand command);
void Run(string function, object[] args);
diff --git a/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs b/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs
index 8b1904352f..caaa808977 100644
--- a/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs
+++ b/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs
@@ -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 m_commands = new Dictionary();
+
+ ///
+ /// Used in runtime class generation
+ ///
+ private string m_generatedApiClassName;
+
+ public string Name
+ {
+ get { return m_name; }
+ }
private string m_name;
+ ///
+ /// Constructor
+ ///
+ ///
public Commander(string name)
{
m_name = name;
+ m_generatedApiClassName = m_name;
}
+ ///
+ /// Commands that this commander knows about
+ ///
public Dictionary Commands
{
get { return m_commands; }
}
+ private Dictionary m_commands = new Dictionary();
#region ICommander Members
@@ -67,7 +85,7 @@ namespace OpenSim.Region.Environment.Modules.Framework.InterfaceCommander
/// Returns C# source code to create a binding
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) + "( ";
diff --git a/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs b/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs
index c56924090e..f4b56b7027 100644
--- a/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs
+++ b/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs
@@ -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()
diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
index f765cfe725..0fac278662 100644
--- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
@@ -237,7 +237,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions
debugCommand.AddArgument("enable_debug_perms", "true to enable debugging to console all perms", "Boolean");
m_commander.RegisterCommand("debug", debugCommand);
- m_scene.RegisterModuleCommander("CommanderPermissions", m_commander);
+ m_scene.RegisterModuleCommander(m_commander);
m_scene.EventManager.OnPluginConsole += new EventManager.OnPluginConsoleDelegate(EventManager_OnPluginConsole);
}
diff --git a/OpenSim/Region/Environment/Modules/World/Serialiser/SerialiserModule.cs b/OpenSim/Region/Environment/Modules/World/Serialiser/SerialiserModule.cs
index c1af947b50..885dbaeddf 100644
--- a/OpenSim/Region/Environment/Modules/World/Serialiser/SerialiserModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Serialiser/SerialiserModule.cs
@@ -47,7 +47,7 @@ namespace OpenSim.Region.Environment.Modules.World.Serialiser
public void Initialise(Scene scene, IConfigSource source)
{
- scene.RegisterModuleCommander("Export", m_commander);
+ scene.RegisterModuleCommander(m_commander);
scene.EventManager.OnPluginConsole += EventManager_OnPluginConsole;
scene.RegisterModuleInterface(this);
diff --git a/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs b/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs
index d56bc8e0e7..cc9b4d2ca4 100644
--- a/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs
@@ -993,7 +993,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain
m_commander.RegisterCommand("flip", flipCommand);
// Add this to our scene so scripts can call these functions
- m_scene.RegisterModuleCommander("Terrain", m_commander);
+ m_scene.RegisterModuleCommander(m_commander);
}
#endregion
diff --git a/OpenSim/Region/Environment/Scenes/SceneBase.cs b/OpenSim/Region/Environment/Scenes/SceneBase.cs
index 4d6a39adfe..5e7eae5038 100644
--- a/OpenSim/Region/Environment/Scenes/SceneBase.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneBase.cs
@@ -278,11 +278,11 @@ namespace OpenSim.Region.Environment.Scenes
}
}
- public void RegisterModuleCommander(string name, ICommander commander)
+ public void RegisterModuleCommander(ICommander commander)
{
lock (m_moduleCommanders)
{
- m_moduleCommanders.Add(name, commander);
+ m_moduleCommanders.Add(commander.Name, commander);
}
}