[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] object: Add 'help' option to print all available ob
From: |
Lin Ma |
Subject: |
[Qemu-devel] [PATCH] object: Add 'help' option to print all available object backend types |
Date: |
Wed, 17 Aug 2016 01:13:16 +0800 |
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")) {
+ 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) {
--
2.9.2
- [Qemu-devel] [PATCH] object: Add 'help' option to print all available object backend types,
Lin Ma <=