qmp: constify QmpCommand and list

Since 0b69f6f72c "qapi: remove
qmp_unregister_command()", the command list can be declared const.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Damien Hedde <damien.hedde@greensocs.com>
Message-Id: <20200316171824.2319695-1-marcandre.lureau@redhat.com>
[Rebased]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
Marc-André Lureau 2020-03-16 18:18:24 +01:00 committed by Markus Armbruster
parent df4097aeaf
commit f0ccc00be1
7 changed files with 16 additions and 15 deletions

View File

@ -39,7 +39,8 @@ typedef QTAILQ_HEAD(QmpCommandList, QmpCommand) QmpCommandList;
void qmp_register_command(QmpCommandList *cmds, const char *name, void qmp_register_command(QmpCommandList *cmds, const char *name,
QmpCommandFunc *fn, QmpCommandOptions options); QmpCommandFunc *fn, QmpCommandOptions options);
QmpCommand *qmp_find_command(QmpCommandList *cmds, const char *name); const QmpCommand *qmp_find_command(const QmpCommandList *cmds,
const char *name);
void qmp_disable_command(QmpCommandList *cmds, const char *name); void qmp_disable_command(QmpCommandList *cmds, const char *name);
void qmp_enable_command(QmpCommandList *cmds, const char *name); void qmp_enable_command(QmpCommandList *cmds, const char *name);
@ -47,13 +48,13 @@ bool qmp_command_is_enabled(const QmpCommand *cmd);
const char *qmp_command_name(const QmpCommand *cmd); const char *qmp_command_name(const QmpCommand *cmd);
bool qmp_has_success_response(const QmpCommand *cmd); bool qmp_has_success_response(const QmpCommand *cmd);
QDict *qmp_error_response(Error *err); QDict *qmp_error_response(Error *err);
QDict *qmp_dispatch(QmpCommandList *cmds, QObject *request, QDict *qmp_dispatch(const QmpCommandList *cmds, QObject *request,
bool allow_oob); bool allow_oob);
bool qmp_is_oob(const QDict *dict); bool qmp_is_oob(const QDict *dict);
typedef void (*qmp_cmd_callback_fn)(QmpCommand *cmd, void *opaque); typedef void (*qmp_cmd_callback_fn)(const QmpCommand *cmd, void *opaque);
void qmp_for_each_command(QmpCommandList *cmds, qmp_cmd_callback_fn fn, void qmp_for_each_command(const QmpCommandList *cmds, qmp_cmd_callback_fn fn,
void *opaque); void *opaque);
#endif #endif

View File

@ -133,7 +133,7 @@ typedef struct {
* qmp_capabilities succeeds, we go into command mode, and * qmp_capabilities succeeds, we go into command mode, and
* @command becomes &qmp_commands. * @command becomes &qmp_commands.
*/ */
QmpCommandList *commands; const QmpCommandList *commands;
bool capab_offered[QMP_CAPABILITY__MAX]; /* capabilities offered */ bool capab_offered[QMP_CAPABILITY__MAX]; /* capabilities offered */
bool capab[QMP_CAPABILITY__MAX]; /* offered and accepted */ bool capab[QMP_CAPABILITY__MAX]; /* offered and accepted */
/* /*

View File

@ -101,7 +101,7 @@ VersionInfo *qmp_query_version(Error **errp)
return info; return info;
} }
static void query_commands_cb(QmpCommand *cmd, void *opaque) static void query_commands_cb(const QmpCommand *cmd, void *opaque)
{ {
CommandInfoList *info, **list = opaque; CommandInfoList *info, **list = opaque;

View File

@ -88,14 +88,14 @@ bool qmp_is_oob(const QDict *dict)
&& !qdict_haskey(dict, "execute"); && !qdict_haskey(dict, "execute");
} }
QDict *qmp_dispatch(QmpCommandList *cmds, QObject *request, QDict *qmp_dispatch(const QmpCommandList *cmds, QObject *request,
bool allow_oob) bool allow_oob)
{ {
Error *err = NULL; Error *err = NULL;
bool oob; bool oob;
const char *command; const char *command;
QDict *args; QDict *args;
QmpCommand *cmd; const QmpCommand *cmd;
QDict *dict; QDict *dict;
QObject *id; QObject *id;
QObject *ret = NULL; QObject *ret = NULL;

View File

@ -27,7 +27,7 @@ void qmp_register_command(QmpCommandList *cmds, const char *name,
QTAILQ_INSERT_TAIL(cmds, cmd, node); QTAILQ_INSERT_TAIL(cmds, cmd, node);
} }
QmpCommand *qmp_find_command(QmpCommandList *cmds, const char *name) const QmpCommand *qmp_find_command(const QmpCommandList *cmds, const char *name)
{ {
QmpCommand *cmd; QmpCommand *cmd;
@ -77,10 +77,10 @@ bool qmp_has_success_response(const QmpCommand *cmd)
return !(cmd->options & QCO_NO_SUCCESS_RESP); return !(cmd->options & QCO_NO_SUCCESS_RESP);
} }
void qmp_for_each_command(QmpCommandList *cmds, qmp_cmd_callback_fn fn, void qmp_for_each_command(const QmpCommandList *cmds, qmp_cmd_callback_fn fn,
void *opaque) void *opaque)
{ {
QmpCommand *cmd; const QmpCommand *cmd;
QTAILQ_FOREACH(cmd, cmds, node) { QTAILQ_FOREACH(cmd, cmds, node) {
fn(cmd, opaque); fn(cmd, opaque);

View File

@ -54,7 +54,7 @@ void qmp_guest_ping(Error **errp)
slog("guest-ping called"); slog("guest-ping called");
} }
static void qmp_command_info(QmpCommand *cmd, void *opaque) static void qmp_command_info(const QmpCommand *cmd, void *opaque)
{ {
GuestAgentInfo *info = opaque; GuestAgentInfo *info = opaque;
GuestAgentCommandInfo *cmd_info; GuestAgentCommandInfo *cmd_info;

View File

@ -359,7 +359,7 @@ static gint ga_strcmp(gconstpointer str1, gconstpointer str2)
} }
/* disable commands that aren't safe for fsfreeze */ /* disable commands that aren't safe for fsfreeze */
static void ga_disable_non_whitelisted(QmpCommand *cmd, void *opaque) static void ga_disable_non_whitelisted(const QmpCommand *cmd, void *opaque)
{ {
bool whitelisted = false; bool whitelisted = false;
int i = 0; int i = 0;
@ -378,7 +378,7 @@ static void ga_disable_non_whitelisted(QmpCommand *cmd, void *opaque)
} }
/* [re-]enable all commands, except those explicitly blacklisted by user */ /* [re-]enable all commands, except those explicitly blacklisted by user */
static void ga_enable_non_blacklisted(QmpCommand *cmd, void *opaque) static void ga_enable_non_blacklisted(const QmpCommand *cmd, void *opaque)
{ {
GList *blacklist = opaque; GList *blacklist = opaque;
const char *name = qmp_command_name(cmd); const char *name = qmp_command_name(cmd);
@ -918,7 +918,7 @@ int64_t ga_get_fd_handle(GAState *s, Error **errp)
return handle; return handle;
} }
static void ga_print_cmd(QmpCommand *cmd, void *opaque) static void ga_print_cmd(const QmpCommand *cmd, void *opaque)
{ {
printf("%s\n", qmp_command_name(cmd)); printf("%s\n", qmp_command_name(cmd));
} }