add command_output_handler_t
Add a typedef for command output handler function type, simplifying the appearance of functions that use it and eliminating duplicate code.
This commit is contained in:
parent
5eb638c71e
commit
1ae4d93c3c
|
@ -558,7 +558,8 @@ int command_run_linef(command_context_t *context, const char *format, ...)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
void command_set_output_handler(command_context_t* context, int (*output_handler)(struct command_context_s *context, const char* line), void *priv)
|
void command_set_output_handler(command_context_t* context,
|
||||||
|
command_output_handler_t output_handler, void *priv)
|
||||||
{
|
{
|
||||||
context->output_handler = output_handler;
|
context->output_handler = output_handler;
|
||||||
context->output_handler_priv = priv;
|
context->output_handler_priv = priv;
|
||||||
|
|
|
@ -51,6 +51,12 @@ enum command_mode
|
||||||
COMMAND_ANY,
|
COMMAND_ANY,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct command_context_s;
|
||||||
|
|
||||||
|
/// The type signature for command context's output handler.
|
||||||
|
typedef int (*command_output_handler_t)(struct command_context_s *context,
|
||||||
|
const char* line);
|
||||||
|
|
||||||
typedef struct command_context_s
|
typedef struct command_context_s
|
||||||
{
|
{
|
||||||
enum command_mode mode;
|
enum command_mode mode;
|
||||||
|
@ -70,7 +76,7 @@ typedef struct command_context_s
|
||||||
* Returning ERROR_COMMAND_SYNTAX_ERROR will have the effect of
|
* Returning ERROR_COMMAND_SYNTAX_ERROR will have the effect of
|
||||||
* printing out the syntax of the command.
|
* printing out the syntax of the command.
|
||||||
*/
|
*/
|
||||||
int (*output_handler)(struct command_context_s *context, const char* line);
|
command_output_handler_t output_handler;
|
||||||
void *output_handler_priv;
|
void *output_handler_priv;
|
||||||
} command_context_t;
|
} command_context_t;
|
||||||
|
|
||||||
|
@ -104,8 +110,7 @@ int unregister_command(command_context_t *context, char *name);
|
||||||
int unregister_all_commands(command_context_t *context);
|
int unregister_all_commands(command_context_t *context);
|
||||||
|
|
||||||
void command_set_output_handler(command_context_t* context,
|
void command_set_output_handler(command_context_t* context,
|
||||||
int (*output_handler)(struct command_context_s *context,
|
command_output_handler_t output_handler, void *priv);
|
||||||
const char* line), void *priv);
|
|
||||||
|
|
||||||
command_context_t* copy_command_context(command_context_t* context);
|
command_context_t* copy_command_context(command_context_t* context);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue