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 <afaer...@suse.de>
CC: Markus Armbruster <arm...@redhat.com>
CC: Paolo Bonzini <pbonz...@redhat.com>
Suggested-by: Daniel P. Berrange <berra...@redhat.com>
Signed-off-by: Peter Xu <pet...@redhat.com>
---
 include/qom/object.h | 10 ++++++++++
 qom/object.c         |  5 +++++
 2 files changed, 15 insertions(+)

diff --git a/include/qom/object.h b/include/qom/object.h
index f3e5cff..f567052 100644
--- a/include/qom/object.h
+++ b/include/qom/object.h
@@ -1214,6 +1214,16 @@ Object *object_get_root(void);
 Object *object_get_objects_root(void);
 
 /**
+ * object_get_internal_root:
+ *
+ * Get the container object that holds internally used object
+ * instances. This is the object at path "/internal-objects"
+ *
+ * Returns: the internal object container
+ */
+Object *object_get_internal_root(void);
+
+/**
  * object_get_canonical_path_component:
  *
  * Returns: The final component in the object's canonical path.  The canonical
diff --git a/qom/object.c b/qom/object.c
index 3e18537..857cee7 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -1370,6 +1370,11 @@ Object *object_get_objects_root(void)
     return container_get(object_get_root(), "/objects");
 }
 
+Object *object_get_internal_root(void)
+{
+    return container_get(object_get_root(), "/internal-objects");
+}
+
 static void object_get_child_property(Object *obj, Visitor *v,
                                       const char *name, void *opaque,
                                       Error **errp)
-- 
2.7.4


Reply via email to