diff options
author | Markus Armbruster <armbru@redhat.com> | 2019-06-19 22:10:39 +0200 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2019-07-02 13:36:49 +0200 |
commit | 3950a37716dd64a1d9f729c49cbb7c6e7aaa4200 (patch) | |
tree | 1f5e87bc361520618f08fe6343269067794a8ec7 /qdev-monitor.c | |
parent | cfbe46fcc638a30f01882bf49e3a9325ac06308c (diff) |
qom: Move HMP command handlers to qom/
Move the HMP command handlers related to QOM handlers from
monitor/hmp-cmds.c and qdev-monitor.c to new qom/qom-hmp-cmds.c, where
they are covered by MAINTAINERS section QOM.
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20190619201050.19040-7-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
[Also move hmp_info_qom_tree(), tweak commit message accordingly]
Diffstat (limited to 'qdev-monitor.c')
-rw-r--r-- | qdev-monitor.c | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/qdev-monitor.c b/qdev-monitor.c index 63a87e9632..58222c2211 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -739,63 +739,6 @@ void hmp_info_qdm(Monitor *mon, const QDict *qdict) qdev_print_devinfos(true); } -typedef struct QOMCompositionState { - Monitor *mon; - int indent; -} QOMCompositionState; - -static void print_qom_composition(Monitor *mon, Object *obj, int indent); - -static int print_qom_composition_child(Object *obj, void *opaque) -{ - QOMCompositionState *s = opaque; - - print_qom_composition(s->mon, obj, s->indent); - - return 0; -} - -static void print_qom_composition(Monitor *mon, Object *obj, int indent) -{ - QOMCompositionState s = { - .mon = mon, - .indent = indent + 2, - }; - char *name; - - if (obj == object_get_root()) { - name = g_strdup(""); - } else { - name = object_get_canonical_path_component(obj); - } - monitor_printf(mon, "%*s/%s (%s)\n", indent, "", name, - object_get_typename(obj)); - g_free(name); - object_child_foreach(obj, print_qom_composition_child, &s); -} - -void hmp_info_qom_tree(Monitor *mon, const QDict *dict) -{ - const char *path = qdict_get_try_str(dict, "path"); - Object *obj; - bool ambiguous = false; - - if (path) { - obj = object_resolve_path(path, &ambiguous); - if (!obj) { - monitor_printf(mon, "Path '%s' could not be resolved.\n", path); - return; - } - if (ambiguous) { - monitor_printf(mon, "Warning: Path '%s' is ambiguous.\n", path); - return; - } - } else { - obj = qdev_get_machine(); - } - print_qom_composition(mon, obj, 0); -} - void qmp_device_add(QDict *qdict, QObject **ret_data, Error **errp) { Error *local_err = NULL; |