demonstrate chaining with foo commands
Use the new command registration chaining capabilities to eliminate the foo_register_commands helper, folding its remaining command handler setup into the hello_command_handlers registration array.__archive__
parent
e7fd1d3d50
commit
16e0404777
19
src/hello.c
19
src/hello.c
|
@ -75,16 +75,6 @@ static const struct command_registration foo_command_handlers[] = {
|
||||||
COMMAND_REGISTRATION_DONE
|
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, "example command handler skeleton");
|
|
||||||
|
|
||||||
|
|
||||||
return register_commands(cmd_ctx, cmd, foo_command_handlers);
|
|
||||||
}
|
|
||||||
|
|
||||||
static COMMAND_HELPER(handle_hello_args, const char **sep, const char **name)
|
static COMMAND_HELPER(handle_hello_args, const char **sep, const char **name)
|
||||||
{
|
{
|
||||||
if (CMD_ARGC > 1)
|
if (CMD_ARGC > 1)
|
||||||
|
@ -119,12 +109,17 @@ static const struct command_registration hello_command_handlers[] = {
|
||||||
.help = "prints a warm welcome",
|
.help = "prints a warm welcome",
|
||||||
.usage = "[<name>]",
|
.usage = "[<name>]",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.name = "foo",
|
||||||
|
.mode = COMMAND_ANY,
|
||||||
|
.help = "example command handler skeleton",
|
||||||
|
|
||||||
|
.chain = foo_command_handlers,
|
||||||
|
},
|
||||||
COMMAND_REGISTRATION_DONE
|
COMMAND_REGISTRATION_DONE
|
||||||
};
|
};
|
||||||
|
|
||||||
int hello_register_commands(struct command_context *cmd_ctx)
|
int hello_register_commands(struct command_context *cmd_ctx)
|
||||||
{
|
{
|
||||||
foo_register_commands(cmd_ctx);
|
|
||||||
|
|
||||||
return register_commands(cmd_ctx, NULL, hello_command_handlers);
|
return register_commands(cmd_ctx, NULL, hello_command_handlers);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue