[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 1/4] qom: provide root container for internal obj
From: |
Peter Xu |
Subject: |
[Qemu-devel] [PATCH v3 1/4] qom: provide root container for internal objs |
Date: |
Tue, 26 Sep 2017 12:52:09 +0800 |
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 <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Paolo Bonzini <address@hidden>
Suggested-by: Daniel P. Berrange <address@hidden>
Signed-off-by: Peter Xu <address@hidden>
---
include/qom/object.h | 10 ++++++++++
qom/object.c | 11 +++++++++++
2 files changed, 21 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..6a7bd92 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)
--
2.7.4