Remove MODULECMD_ARG_OUTPUT argument type
Since the module command interface was expanded to include a JSON output parameter, there is no longer a need for an output DCB. As the JSON can be printed by both maxadmin and the REST API, this allows the removal of explicit output formatting in module commands.
This commit is contained in:
@ -303,13 +303,9 @@ bool listfuncs_cb(const MODULECMD *cmd, void *data)
|
||||
for (int i = 0; i < cmd->arg_count_max; i++)
|
||||
{
|
||||
modulecmd_arg_type_t *type = &cmd->arg_types[i];
|
||||
|
||||
if (MODULECMD_GET_TYPE(type) != MODULECMD_ARG_OUTPUT)
|
||||
{
|
||||
dcb_printf(dcb, "%s%s",
|
||||
modulecmd_argtype_to_str(&cmd->arg_types[i]),
|
||||
i < cmd->arg_count_max - 1 ? " " : "");
|
||||
}
|
||||
dcb_printf(dcb, "%s%s",
|
||||
modulecmd_argtype_to_str(&cmd->arg_types[i]),
|
||||
i < cmd->arg_count_max - 1 ? " " : "");
|
||||
}
|
||||
|
||||
dcb_printf(dcb, "\n\n");
|
||||
@ -317,13 +313,9 @@ bool listfuncs_cb(const MODULECMD *cmd, void *data)
|
||||
for (int i = 0; i < cmd->arg_count_max; i++)
|
||||
{
|
||||
modulecmd_arg_type_t *type = &cmd->arg_types[i];
|
||||
|
||||
if (MODULECMD_GET_TYPE(type) != MODULECMD_ARG_OUTPUT)
|
||||
{
|
||||
dcb_printf(dcb, " %s - %s\n",
|
||||
modulecmd_argtype_to_str(&cmd->arg_types[i]),
|
||||
cmd->arg_types[i].description);
|
||||
}
|
||||
dcb_printf(dcb, " %s - %s\n",
|
||||
modulecmd_argtype_to_str(&cmd->arg_types[i]),
|
||||
cmd->arg_types[i].description);
|
||||
}
|
||||
|
||||
dcb_printf(dcb, "\n");
|
||||
@ -1662,12 +1654,6 @@ struct subcommand alteroptions[] =
|
||||
}
|
||||
};
|
||||
|
||||
static inline bool requires_output_dcb(const MODULECMD *cmd)
|
||||
{
|
||||
modulecmd_arg_type_t *type = &cmd->arg_types[0];
|
||||
return cmd->arg_count_max > 0 && MODULECMD_GET_TYPE(type) == MODULECMD_ARG_OUTPUT;
|
||||
}
|
||||
|
||||
static void callModuleCommand(DCB *dcb, char *domain, char *id, char *v3,
|
||||
char *v4, char *v5, char *v6, char *v7, char *v8, char *v9,
|
||||
char *v10, char *v11, char *v12)
|
||||
@ -1685,18 +1671,6 @@ static void callModuleCommand(DCB *dcb, char *domain, char *id, char *v3,
|
||||
|
||||
if (cmd)
|
||||
{
|
||||
if (requires_output_dcb(cmd))
|
||||
{
|
||||
/** The command requires a DCB for output, add the client DCB
|
||||
* as the first argument */
|
||||
for (int i = valuelen - 1; i > 0; i--)
|
||||
{
|
||||
values[i] = values[i - 1];
|
||||
}
|
||||
values[0] = dcb;
|
||||
numargs += numargs + 1 < valuelen - 1 ? 1 : 0;
|
||||
}
|
||||
|
||||
MODULECMD_ARG *arg = modulecmd_arg_parse(cmd, numargs, values);
|
||||
|
||||
if (arg)
|
||||
|
Reference in New Issue
Block a user