aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander
diff options
context:
space:
mode:
authormingchen2008-07-25 02:30:07 +0000
committermingchen2008-07-25 02:30:07 +0000
commitf2742fb6043c6b7332afd026d77a29b25369934c (patch)
tree895f906ba9db30b27117e6f0d7af40e063204e8e /OpenSim/Region/Environment/Modules/Framework/InterfaceCommander
parentllApplyImpulse now accepts any non-zero integer as not FALSE (diff)
downloadopensim-SC-f2742fb6043c6b7332afd026d77a29b25369934c.zip
opensim-SC-f2742fb6043c6b7332afd026d77a29b25369934c.tar.gz
opensim-SC-f2742fb6043c6b7332afd026d77a29b25369934c.tar.bz2
opensim-SC-f2742fb6043c6b7332afd026d77a29b25369934c.tar.xz
*Added CommandIntentions that is used to describe a console commands hazard. HAZARDOUS if it modifies the simulator, NON_HAZARDOUS if it does a command that doesn't modify the simulator but does a background command such as a forced backup, and STATISTICAL if it returns debug or more information.
*This is useful for implementing a protection system from unwanted script execution or for application modules needing to know what a command does.
Diffstat (limited to 'OpenSim/Region/Environment/Modules/Framework/InterfaceCommander')
-rw-r--r--OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs9
-rw-r--r--OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs2
2 files changed, 9 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs b/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs
index 84487e8..82f18a1 100644
--- a/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs
+++ b/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/Commander.cs
@@ -47,12 +47,14 @@ namespace OpenSim.Region.Environment.Modules.Framework.InterfaceCommander
47 private Action<object[]> m_command; 47 private Action<object[]> m_command;
48 private string m_help; 48 private string m_help;
49 private string m_name; 49 private string m_name;
50 private CommandIntentions m_intentions; //A permission type system could implement this and know what a command intends on doing.
50 51
51 public Command(string name, Action<Object[]> command, string help) 52 public Command(string name, CommandIntentions intention, Action<Object[]> command, string help)
52 { 53 {
53 m_name = name; 54 m_name = name;
54 m_command = command; 55 m_command = command;
55 m_help = help; 56 m_help = help;
57 m_intentions = intention;
56 } 58 }
57 59
58 #region ICommand Members 60 #region ICommand Members
@@ -67,6 +69,11 @@ namespace OpenSim.Region.Environment.Modules.Framework.InterfaceCommander
67 get { return m_name; } 69 get { return m_name; }
68 } 70 }
69 71
72 public CommandIntentions Intentions
73 {
74 get { return m_intentions; }
75 }
76
70 public string Help 77 public string Help
71 { 78 {
72 get { return m_help; } 79 get { return m_help; }
diff --git a/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs b/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs
index 8d1371c..c569240 100644
--- a/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs
+++ b/OpenSim/Region/Environment/Modules/Framework/InterfaceCommander/CommanderTestModule.cs
@@ -56,7 +56,7 @@ namespace OpenSim.Region.Environment.Modules.Framework.InterfaceCommander
56 56
57 public void PostInitialise() 57 public void PostInitialise()
58 { 58 {
59 Command testCommand = new Command("hello", InterfaceHelloWorld, "Says a simple debugging test string"); 59 Command testCommand = new Command("hello", CommandIntentions.COMMAND_STATISTICAL, InterfaceHelloWorld, "Says a simple debugging test string");
60 testCommand.AddArgument("world", "Write world here", "string"); 60 testCommand.AddArgument("world", "Write world here", "string");
61 61
62 m_commander.RegisterCommand("hello", testCommand); 62 m_commander.RegisterCommand("hello", testCommand);