summary refs log tree commit diff stats
path: root/ui/console.c
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 /ui/console.c
parentf087553653152fdae16ed7066d238677734e4902 (diff)
downloadfocaccia-qemu-43f420f8419866619bd107d5ee84c727b46967b8.tar.gz
focaccia-qemu-43f420f8419866619bd107d5ee84c727b46967b8.zip
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>
Diffstat (limited to 'ui/console.c')
-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;