mirror of https://gitlab.com/qemu-project/qemu
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>
This commit is contained in:
parent
d147f7e815
commit
7c47c4ead7
|
@ -1213,6 +1213,17 @@ Object *object_get_root(void);
|
||||||
*/
|
*/
|
||||||
Object *object_get_objects_root(void);
|
Object *object_get_objects_root(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* object_get_internal_root:
|
||||||
|
*
|
||||||
|
* Get the container object that holds internally used object
|
||||||
|
* instances. Any object which is put into this container must not be
|
||||||
|
* user visible, and it will not be exposed in the QOM tree.
|
||||||
|
*
|
||||||
|
* Returns: the internal object container
|
||||||
|
*/
|
||||||
|
Object *object_get_internal_root(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* object_get_canonical_path_component:
|
* object_get_canonical_path_component:
|
||||||
*
|
*
|
||||||
|
|
11
qom/object.c
11
qom/object.c
|
@ -1370,6 +1370,17 @@ Object *object_get_objects_root(void)
|
||||||
return container_get(object_get_root(), "/objects");
|
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,
|
static void object_get_child_property(Object *obj, Visitor *v,
|
||||||
const char *name, void *opaque,
|
const char *name, void *opaque,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
|
|
Loading…
Reference in New Issue