aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2013-06-25 10:49:31 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2013-06-28 14:03:22 -0500
commit43f420f8419866619bd107d5ee84c727b46967b8 (patch)
treea4466e1d17349670ee328af8a29408d507501327
parentf087553653152fdae16ed7066d238677734e4902 (diff)
console: Hook QemuConsoles into qom tree
Put them named "console[$index]" below "/backend", so you can list & inspect them via QMP. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 1372150171-8707-1-git-send-email-kraxel@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r--ui/console.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ui/console.c b/ui/console.c
index 28bba6de99..e3e82979d8 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -1580,6 +1580,8 @@ static DisplayState *get_alloc_displaystate(void)
*/
DisplayState *init_displaystate(void)
{
+ Error *local_err = NULL;
+ gchar *name;
int i;
if (!display_state) {
@@ -1591,6 +1593,14 @@ DisplayState *init_displaystate(void)
consoles[i]->ds == NULL) {
text_console_do_init(consoles[i]->chr, display_state);
}
+
+ /* Hook up into the qom tree here (not in new_console()), once
+ * all QemuConsoles are created and the order / numbering
+ * doesn't change any more */
+ name = g_strdup_printf("console[%d]", i);
+ object_property_add_child(container_get(object_get_root(), "/backend"),
+ name, OBJECT(consoles[i]), &local_err);
+ g_free(name);
}
return display_state;