summaryrefslogtreecommitdiff
path: root/src/hello.c
diff options
context:
space:
mode:
authorZachary T Welch <zw@superlucidity.net>2009-11-21 13:49:00 -0800
committerZachary T Welch <zw@superlucidity.net>2009-11-24 21:37:32 -0800
commite7fd1d3d5031a98e56503c46baa0c2f23ac7d88c (patch)
treeeed4f4dce41a0fead580c3be1d7bf7afeada481b /src/hello.c
parent62e56496009796497665c1d06819c163589a3877 (diff)
downloadopenocd+libswd-e7fd1d3d5031a98e56503c46baa0c2f23ac7d88c.tar.gz
openocd+libswd-e7fd1d3d5031a98e56503c46baa0c2f23ac7d88c.tar.bz2
openocd+libswd-e7fd1d3d5031a98e56503c46baa0c2f23ac7d88c.tar.xz
openocd+libswd-e7fd1d3d5031a98e56503c46baa0c2f23ac7d88c.zip
hello: use register_commands()
Use new register_commands() with command registration table.
Diffstat (limited to 'src/hello.c')
-rw-r--r--src/hello.c52
1 files changed, 36 insertions, 16 deletions
diff --git a/src/hello.c b/src/hello.c
index 8c97a401..6f024948 100644
--- a/src/hello.c
+++ b/src/hello.c
@@ -53,24 +53,36 @@ COMMAND_HANDLER(handle_flag_command)
&foo_flag, "foo flag");
}
+static const struct command_registration foo_command_handlers[] = {
+ {
+ .name = "bar",
+ .handler = &handle_foo_command,
+ .mode = COMMAND_ANY,
+ .help = "<address> [enable|disable] - an example command",
+ },
+ {
+ .name = "baz",
+ .handler = &handle_foo_command,
+ .mode = COMMAND_ANY,
+ .help = "<address> [enable|disable] - a sample command",
+ },
+ {
+ .name = "flag",
+ .handler = &handle_flag_command,
+ .mode = COMMAND_ANY,
+ .help = "[on|off] - set a flag",
+ },
+ COMMAND_REGISTRATION_DONE
+};
+
int foo_register_commands(struct command_context *cmd_ctx)
{
// register several commands under the foo command
struct command *cmd = COMMAND_REGISTER(cmd_ctx, NULL, "foo",
- NULL, COMMAND_ANY, "foo: command handler skeleton");
+ NULL, COMMAND_ANY, "example command handler skeleton");
- COMMAND_REGISTER(cmd_ctx, cmd, "bar",
- &handle_foo_command, COMMAND_ANY,
- "<address> [enable|disable] - an example command");
- COMMAND_REGISTER(cmd_ctx, cmd, "baz",
- &handle_foo_command, COMMAND_ANY,
- "<address> [enable|disable] - a sample command");
- COMMAND_REGISTER(cmd_ctx, cmd, "flag",
- &handle_flag_command, COMMAND_ANY,
- "[on|off] - set a flag");
-
- return ERROR_OK;
+ return register_commands(cmd_ctx, cmd, foo_command_handlers);
}
static COMMAND_HELPER(handle_hello_args, const char **sep, const char **name)
@@ -99,12 +111,20 @@ COMMAND_HANDLER(handle_hello_command)
return retval;
}
+static const struct command_registration hello_command_handlers[] = {
+ {
+ .name = "hello",
+ .handler = &handle_hello_command,
+ .mode = COMMAND_ANY,
+ .help = "prints a warm welcome",
+ .usage = "[<name>]",
+ },
+ COMMAND_REGISTRATION_DONE
+};
+
int hello_register_commands(struct command_context *cmd_ctx)
{
foo_register_commands(cmd_ctx);
- struct command *cmd = COMMAND_REGISTER(cmd_ctx, NULL, "hello",
- &handle_hello_command, COMMAND_ANY,
- "[<name>] - prints a warm welcome");
- return cmd ? ERROR_OK : -ENOMEM;
+ return register_commands(cmd_ctx, NULL, hello_command_handlers);
}