[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] object: Add 'help' option to print all availabl
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH] object: Add 'help' option to print all available object backend types |
Date: |
Wed, 17 Aug 2016 08:48:57 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Lin Ma <address@hidden> writes:
> Signed-off-by: Lin Ma <address@hidden>
> ---
> qemu-options.hx | 5 ++++-
> qom/object_interfaces.c | 16 ++++++++++++++++
> 2 files changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/qemu-options.hx b/qemu-options.hx
> index a71aaf8..c5f4a12 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -3752,7 +3752,8 @@ DEF("object", HAS_ARG, QEMU_OPTION_object,
> " create a new object of type TYPENAME setting
> properties\n"
> " in the order they are specified. Note that the 'id'\n"
> " property must be set. These objects are placed in
> the\n"
> - " '/objects' path.\n",
> + " '/objects' path.\n"
> + " Use '-object help' to print available backend types.\n",
> QEMU_ARCH_ALL)
> STEXI
> @item -object @var{typename}[,@address@hidden,...]
> @@ -3762,6 +3763,8 @@ in the order they are specified. Note that the 'id'
> property must be set. These objects are placed in the
> '/objects' path.
>
> +Use '-object help' to print available backend types.
> +
> @table @option
>
> @item -object
> memory-backend-file,address@hidden,address@hidden,address@hidden,address@hidden|off}
> diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c
> index bf59846..8f820a4 100644
> --- a/qom/object_interfaces.c
> +++ b/qom/object_interfaces.c
> @@ -58,6 +58,22 @@ Object *user_creatable_add(const QDict *qdict,
> goto out_visit;
> }
>
> + if (!strcmp(type, "help")) {
Please use is_help_option().
> + printf("Available object backend types:\n");
> + GSList *list = object_class_get_list(TYPE_USER_CREATABLE, false);
> + while (list) {
> + const char *name;
> + name = object_class_get_name(OBJECT_CLASS(list->data));
> + /* Ignore user-creatable. */
> + if (strcmp(name, TYPE_USER_CREATABLE)) {
> + printf("%s\n", name);
> + }
> + list = list->next;
> + }
> + g_slist_free(list);
> + exit(0);
> + }
> +
> qdict_del(pdict, "id");
> visit_type_str(v, "id", &id, &local_err);
> if (local_err) {