From 732cd838b1ce2bc5d2c312f510818fd63db76be4 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Thu, 5 Feb 2009 21:35:59 +0000 Subject: * Make existing module commanders register as help topics * Typing help will now give a list of these topics at the top (as well as the rest of the current help stuff) * Typing help will give information about commands specific to that topic --- .../Framework/InterfaceCommander/Commander.cs | 34 +++++++++++++++------- .../InterfaceCommander/CommanderTestModule.cs | 2 +- .../Modules/World/Permissions/PermissionsModule.cs | 2 +- .../Modules/World/Serialiser/SerialiserModule.cs | 2 +- .../Modules/World/Terrain/TerrainModule.cs | 2 +- 5 files changed, 27 insertions(+), 15 deletions(-) (limited to 'OpenSim/Region/Environment/Modules') diff --git a/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs b/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs index caaa808..d5f4c80 100644 --- a/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs +++ b/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs @@ -52,6 +52,23 @@ namespace OpenSim.Region.Environment.Modules.Framework.InterfaceCommander get { return m_name; } } private string m_name; + + public string Help + { + get + { + StringBuilder sb = new StringBuilder(); + + sb.AppendLine("===" + m_name + "==="); + + foreach (ICommand com in m_commands.Values) + { + sb.AppendLine("* " + com.Name + " - " + com.Help); + } + + return sb.ToString(); + } + } /// /// Constructor @@ -60,7 +77,10 @@ namespace OpenSim.Region.Environment.Modules.Framework.InterfaceCommander public Commander(string name) { m_name = name; - m_generatedApiClassName = m_name; + m_generatedApiClassName = m_name[0].ToString().ToUpper(); + + if (m_name.Length > 1) + m_generatedApiClassName += m_name.Substring(1); } /// @@ -145,22 +165,14 @@ namespace OpenSim.Region.Environment.Modules.Framework.InterfaceCommander { if (function != "help") Console.WriteLine("ERROR: Invalid command - No such command exists"); - ShowConsoleHelp(); + + Console.Write(Help); } } } #endregion - private void ShowConsoleHelp() - { - Console.WriteLine("===" + m_name + "==="); - foreach (ICommand com in m_commands.Values) - { - Console.WriteLine("* " + com.Name + " - " + com.Help); - } - } - private string EscapeRuntimeAPICommand(string command) { command = command.Replace('-', '_'); diff --git a/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs b/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs index f4b56b7..e368f51 100644 --- a/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs +++ b/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs @@ -35,7 +35,7 @@ namespace OpenSim.Region.Environment.Modules.Framework.InterfaceCommander { public class CommanderTestModule : IRegionModule, ICommandableModule { - private readonly Commander m_commander = new Commander("CommanderTest"); + private readonly Commander m_commander = new Commander("commandertest"); private Scene m_scene; #region ICommandableModule Members diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs index 0fac278..f086396 100644 --- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs @@ -46,7 +46,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); protected Scene m_scene; - private readonly Commander m_commander = new Commander("Permissions"); + private readonly Commander m_commander = new Commander("permissions"); #region Constants // These are here for testing. They will be taken out diff --git a/OpenSim/Region/Environment/Modules/World/Serialiser/SerialiserModule.cs b/OpenSim/Region/Environment/Modules/World/Serialiser/SerialiserModule.cs index 885dbae..f939adf 100644 --- a/OpenSim/Region/Environment/Modules/World/Serialiser/SerialiserModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Serialiser/SerialiserModule.cs @@ -38,7 +38,7 @@ namespace OpenSim.Region.Environment.Modules.World.Serialiser { public class SerialiserModule : IRegionModule, IRegionSerialiserModule { - private Commander m_commander = new Commander("Export"); + private Commander m_commander = new Commander("export"); private List m_regions = new List(); private string m_savedir = "exports" + "/"; private List m_serialisers = new List(); diff --git a/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs b/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs index cc9b4d2..3c27872 100644 --- a/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs @@ -68,7 +68,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private readonly Commander m_commander = new Commander("Terrain"); + private readonly Commander m_commander = new Commander("terrain"); private readonly Dictionary m_floodeffects = new Dictionary(); -- cgit v1.1