qemu-devel
[Top][All Lists]
Advanced

[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) {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]