summary refs log tree commit diff stats
path: root/qom/object.c
diff options
context:
space:
mode:
authorPeter Xu <peterx@redhat.com>2017-09-28 10:59:54 +0800
committerStefan Hajnoczi <stefanha@redhat.com>2017-10-03 14:26:15 -0400
commit7c47c4ead75d0b733ee8f2f51fd1de0644cc1308 (patch)
treec77a4d846c8ad2911d1817e8b5f4b4cde51479c6 /qom/object.c
parentd147f7e815f97cb477e223586bcb80c316ae10ea (diff)
downloadfocaccia-qemu-7c47c4ead75d0b733ee8f2f51fd1de0644cc1308.tar.gz
focaccia-qemu-7c47c4ead75d0b733ee8f2f51fd1de0644cc1308.zip
qom: provide root container for internal objs
We have object_get_objects_root() to keep user created objects, however
no place for objects that will be used internally.  Create such a
container for internal objects.

CC: Andreas Färber <afaerber@suse.de>
CC: Markus Armbruster <armbru@redhat.com>
CC: Paolo Bonzini <pbonzini@redhat.com>
Suggested-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Message-id: 20170928025958.1420-2-peterx@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'qom/object.c')
-rw-r--r--qom/object.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/qom/object.c b/qom/object.c
index 3e18537e9b..6a7bd9257b 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -1370,6 +1370,17 @@ Object *object_get_objects_root(void)
     return container_get(object_get_root(), "/objects");
 }
 
+Object *object_get_internal_root(void)
+{
+    static Object *internal_root;
+
+    if (!internal_root) {
+        internal_root = object_new("container");
+    }
+
+    return internal_root;
+}
+
 static void object_get_child_property(Object *obj, Visitor *v,
                                       const char *name, void *opaque,
                                       Error **errp)