diff options
author | Melanie Thielker | 2009-02-07 12:25:39 +0000 |
---|---|---|
committer | Melanie Thielker | 2009-02-07 12:25:39 +0000 |
commit | 54c6a920baa0ef02a9ea09e08cc1effcef3b0a3a (patch) | |
tree | f606cbdbc383ec21fee28f0a1454140a1c714278 /OpenSim/Grid/UserServer/Main.cs | |
parent | Thank you dslake for a patch that: (diff) | |
download | opensim-SC_OLD-54c6a920baa0ef02a9ea09e08cc1effcef3b0a3a.zip opensim-SC_OLD-54c6a920baa0ef02a9ea09e08cc1effcef3b0a3a.tar.gz opensim-SC_OLD-54c6a920baa0ef02a9ea09e08cc1effcef3b0a3a.tar.bz2 opensim-SC_OLD-54c6a920baa0ef02a9ea09e08cc1effcef3b0a3a.tar.xz |
Replace the console for all OpenSim apps with a new console featuring command
line editing, context sensitive help (press ? at any time), command line
history, a new plugin command system and new appender features thet let you
type while the console is scrolling. Seamlessly integrates the ICommander
interfaces.
Diffstat (limited to 'OpenSim/Grid/UserServer/Main.cs')
-rw-r--r-- | OpenSim/Grid/UserServer/Main.cs | 94 |
1 files changed, 70 insertions, 24 deletions
diff --git a/OpenSim/Grid/UserServer/Main.cs b/OpenSim/Grid/UserServer/Main.cs index be26ab3..0b0bee1 100644 --- a/OpenSim/Grid/UserServer/Main.cs +++ b/OpenSim/Grid/UserServer/Main.cs | |||
@@ -46,7 +46,7 @@ namespace OpenSim.Grid.UserServer | |||
46 | /// <summary> | 46 | /// <summary> |
47 | /// Grid user server main class | 47 | /// Grid user server main class |
48 | /// </summary> | 48 | /// </summary> |
49 | public class OpenUser_Main : BaseOpenSimServer, conscmd_callback | 49 | public class OpenUser_Main : BaseOpenSimServer |
50 | { | 50 | { |
51 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 51 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
52 | 52 | ||
@@ -73,7 +73,7 @@ namespace OpenSim.Grid.UserServer | |||
73 | 73 | ||
74 | public OpenUser_Main() | 74 | public OpenUser_Main() |
75 | { | 75 | { |
76 | m_console = new ConsoleBase("User", this); | 76 | m_console = new ConsoleBase("User"); |
77 | MainConsole.Instance = m_console; | 77 | MainConsole.Instance = m_console; |
78 | } | 78 | } |
79 | 79 | ||
@@ -119,6 +119,37 @@ namespace OpenSim.Grid.UserServer | |||
119 | m_httpServer = new BaseHttpServer(Cfg.HttpPort); | 119 | m_httpServer = new BaseHttpServer(Cfg.HttpPort); |
120 | AddHttpHandlers(); | 120 | AddHttpHandlers(); |
121 | m_httpServer.Start(); | 121 | m_httpServer.Start(); |
122 | |||
123 | base.StartupSpecific(); | ||
124 | |||
125 | m_console.Commands.AddCommand("userserver", "create user", | ||
126 | "create user [<first> [<last> [<x> <y> [email]]]]", | ||
127 | "Create a new user account", RunCommand); | ||
128 | |||
129 | m_console.Commands.AddCommand("userserver", "reset user password", | ||
130 | "reset user password [<first> [<last> [<new password>]]]", | ||
131 | "Reset a user's password", RunCommand); | ||
132 | |||
133 | m_console.Commands.AddCommand("userserver", "login level", | ||
134 | "login level <level>", | ||
135 | "Set the minimum user level to log in", HandleLoginCommand); | ||
136 | |||
137 | m_console.Commands.AddCommand("userserver", "login reset", | ||
138 | "login reset", | ||
139 | "Reset the login level to allow all users", | ||
140 | HandleLoginCommand); | ||
141 | |||
142 | m_console.Commands.AddCommand("userserver", "login text", | ||
143 | "login text <text>", | ||
144 | "Set the text users will see on login", HandleLoginCommand); | ||
145 | |||
146 | m_console.Commands.AddCommand("userserver", "test-inventory", | ||
147 | "test-inventory", | ||
148 | "Perform a test inventory transaction", RunCommand); | ||
149 | |||
150 | m_console.Commands.AddCommand("userserver", "logoff-user", | ||
151 | "logoff-user <first> <last> <message>", | ||
152 | "Log off a named user", RunCommand); | ||
122 | } | 153 | } |
123 | 154 | ||
124 | /// <summary> | 155 | /// <summary> |
@@ -301,39 +332,54 @@ namespace OpenSim.Grid.UserServer | |||
301 | m_userManager.ResetUserPassword(firstName, lastName, newPassword); | 332 | m_userManager.ResetUserPassword(firstName, lastName, newPassword); |
302 | } | 333 | } |
303 | 334 | ||
304 | public override void RunCmd(string cmd, string[] cmdparams) | 335 | private void HandleLoginCommand(string module, string[] cmd) |
305 | { | 336 | { |
306 | base.RunCmd(cmd, cmdparams); | 337 | string subcommand = cmd[1]; |
307 | switch (cmd) | 338 | |
339 | switch (subcommand) | ||
308 | { | 340 | { |
309 | case "create": | 341 | case "level": |
310 | do_create(cmdparams); | 342 | // Set the minimal level to allow login |
311 | break; | 343 | // Useful to allow grid update without worrying about users. |
312 | 344 | // or fixing critical issues | |
313 | case "reset": | 345 | // |
314 | Reset(cmdparams); | 346 | if (cmd.Length > 2) |
315 | break; | ||
316 | |||
317 | |||
318 | case "login-level": | ||
319 | // Set the minimal level to allow login | ||
320 | // Usefull to allow grid update without worrying about users. | ||
321 | // or fixing critical issue | ||
322 | if (cmdparams.Length == 1) | ||
323 | { | 347 | { |
324 | int level = Convert.ToInt32(cmdparams[0]); | 348 | int level = Convert.ToInt32(cmd[2]); |
325 | m_loginService.setloginlevel(level); | 349 | m_loginService.setloginlevel(level); |
326 | } | 350 | } |
327 | break; | 351 | break; |
328 | case "login-reset": | 352 | case "reset": |
329 | m_loginService.setloginlevel(0); | 353 | m_loginService.setloginlevel(0); |
330 | break; | 354 | break; |
331 | case "login-text": | 355 | case "text": |
332 | if (cmdparams.Length == 1) | 356 | if (cmd.Length > 2) |
333 | { | 357 | { |
334 | m_loginService.setwelcometext(cmdparams[0]); | 358 | m_loginService.setwelcometext(cmd[2]); |
335 | } | 359 | } |
336 | break; | 360 | break; |
361 | } | ||
362 | } | ||
363 | |||
364 | public void RunCommand(string module, string[] cmd) | ||
365 | { | ||
366 | List<string> args = new List<string>(cmd); | ||
367 | string command = cmd[0]; | ||
368 | |||
369 | args.RemoveAt(0); | ||
370 | |||
371 | string[] cmdparams = args.ToArray(); | ||
372 | |||
373 | switch (command) | ||
374 | { | ||
375 | case "create": | ||
376 | do_create(cmdparams); | ||
377 | break; | ||
378 | |||
379 | case "reset": | ||
380 | Reset(cmdparams); | ||
381 | break; | ||
382 | |||
337 | 383 | ||
338 | case "test-inventory": | 384 | case "test-inventory": |
339 | // RestObjectPosterResponse<List<InventoryFolderBase>> requester = new RestObjectPosterResponse<List<InventoryFolderBase>>(); | 385 | // RestObjectPosterResponse<List<InventoryFolderBase>> requester = new RestObjectPosterResponse<List<InventoryFolderBase>>(); |