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