diff options
Diffstat (limited to 'qapi/qmp-registry.c')
-rw-r--r-- | qapi/qmp-registry.c | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/qapi/qmp-registry.c b/qapi/qmp-registry.c index 28bbbe849e..5e26710d89 100644 --- a/qapi/qmp-registry.c +++ b/qapi/qmp-registry.c @@ -66,35 +66,21 @@ void qmp_enable_command(const char *name) qmp_toggle_command(name, true); } -bool qmp_command_is_enabled(const char *name) +bool qmp_command_is_enabled(const QmpCommand *cmd) { - QmpCommand *cmd; - - QTAILQ_FOREACH(cmd, &qmp_commands, node) { - if (strcmp(cmd->name, name) == 0) { - return cmd->enabled; - } - } + return cmd->enabled; +} - return false; +const char *qmp_command_name(const QmpCommand *cmd) +{ + return cmd->name; } -char **qmp_get_command_list(void) +void qmp_for_each_command(qmp_cmd_callback_fn fn, void *opaque) { QmpCommand *cmd; - int count = 1; - char **list_head, **list; - - QTAILQ_FOREACH(cmd, &qmp_commands, node) { - count++; - } - - list_head = list = g_malloc0(count * sizeof(char *)); QTAILQ_FOREACH(cmd, &qmp_commands, node) { - *list = g_strdup(cmd->name); - list++; + fn(cmd, opaque); } - - return list_head; } |