mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 11:39:53 +00:00
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:
parent
df4097aeaf
commit
f0ccc00be1
@ -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
|
||||||
|
@ -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 */
|
||||||
/*
|
/*
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
@ -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;
|
||||||
|
@ -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));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user