From 451c3d1dd7bd7fc64e741882040ae44f8c47518f Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Sat, 12 Jul 2008 19:29:49 +0000 Subject: * Hive off ConsolePluginCommand into its own framework class --- OpenSim/Region/Application/OpenSim.cs | 109 ------------------------------ OpenSim/Region/Application/OpenSimBase.cs | 1 + 2 files changed, 1 insertion(+), 109 deletions(-) (limited to 'OpenSim/Region/Application') diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 0616812..d4c7e70 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -44,8 +44,6 @@ using Timer=System.Timers.Timer; namespace OpenSim { - public delegate void ConsoleCommand(string[] comParams); - /// /// Interactive OpenSim region server /// @@ -760,111 +758,4 @@ namespace OpenSim } #endregion } - - /// - /// Holder object for a new console plugin command - /// - /// Override the methods like Run and IsHelpfull (but the defaults might work ok.) - /// - public class ConsolePluginCommand - { - /// - /// command delegate used in running - /// - private ConsoleCommand m_commandDelegate; - /// - /// help text displayed - /// - private string m_helpText; - /// - /// command in the form of "showme new commands" - /// - private string[] m_cmdText; - - /// - /// Construct a new ConsolePluginCommand - /// - /// for use with OpenSim.RegisterConsolePluginCommand(myCmd); - /// - /// - /// in the form of "showme new commands" - /// ommand delegate used in running - /// the text displayed in "help showme new commands" - public ConsolePluginCommand(string command, ConsoleCommand dlg, string help) - { - m_cmdText = command.Split(new char[] { ' ' }); - m_commandDelegate = dlg; - m_helpText = help; - } - - /// - /// Returns the match length this command has upon the 'cmdWithParams' - /// At least a higher number for "show plugin status" then "show" would return - /// This is used to have multi length command verbs - /// - /// @see OopenSim.RunPluginCommands - /// It will only run the one with the highest number - /// - /// - public int matchLength(string cmdWithParams) - { - // QUESTION: have a case insensitive flag? - cmdWithParams = cmdWithParams.ToLower().Trim(); - string matchText = String.Join(" ",m_cmdText).ToLower().Trim(); - if (cmdWithParams.StartsWith(matchText)) - { - // QUESTION Instead return cmdText.Length; ? - return matchText.Length; - } - return 0; - } - - /// - /// Run the delegate the incomming string may contain the command, if so, it is chopped off the cmdParams[] - /// - public void Run(string cmd, string[] cmdParams) - { - int skipParams = 0; - if (m_cmdText.Length > 1) - { - int currentParam = 1; - while (currentParam < m_cmdText.Length) - { - if (cmdParams[skipParams].ToLower().Equals(m_cmdText[currentParam].ToLower())) - { - skipParams++; - } - currentParam++; - } - - } - string[] sendCmdParams = cmdParams; - if (skipParams > 0) - { - sendCmdParams = new string[cmdParams.Length-skipParams]; - for (int i=0;i - /// Shows help information on the console's Notice method - /// - public void ShowHelp(ConsoleBase console) - { - console.Notice(String.Join(" ", m_cmdText) + " - " + m_helpText); - } - - /// - /// return true if the ShowHelp(..) method might be helpfull - /// - public bool IsHelpfull(string cmdWithParams) - { - cmdWithParams = cmdWithParams.ToLower(); - return cmdWithParams.Contains(String.Join(" ", m_cmdText).ToLower()) || m_helpText.ToLower().Contains(cmdWithParams); - } - } - } diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index c6061e1..c9cc062 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -38,6 +38,7 @@ using Mono.Addins; using Nini.Config; using OpenSim.Framework; using OpenSim.Framework.Communications.Cache; +using OpenSim.Framework.Console; using OpenSim.Framework.Servers; using OpenSim.Framework.Statistics; using OpenSim.Region.ClientStack; -- cgit v1.1