aboutsummaryrefslogtreecommitdiff
path: root/qom/container.c
diff options
context:
space:
mode:
Diffstat (limited to 'qom/container.c')
-rw-r--r--qom/container.c27
1 files changed, 6 insertions, 21 deletions
diff --git a/qom/container.c b/qom/container.c
index 455e841..38a27ec 100644
--- a/qom/container.c
+++ b/qom/container.c
@@ -15,7 +15,7 @@
#include "qemu/module.h"
static const TypeInfo container_info = {
- .name = "container",
+ .name = TYPE_CONTAINER,
.parent = TYPE_OBJECT,
};
@@ -24,29 +24,14 @@ static void container_register_types(void)
type_register_static(&container_info);
}
-Object *container_get(Object *root, const char *path)
+Object *object_property_add_new_container(Object *obj, const char *name)
{
- Object *obj, *child;
- char **parts;
- int i;
+ Object *child = object_new(TYPE_CONTAINER);
- parts = g_strsplit(path, "/", 0);
- assert(parts != NULL && parts[0] != NULL && !parts[0][0]);
- obj = root;
+ object_property_add_child(obj, name, child);
+ object_unref(child);
- for (i = 1; parts[i] != NULL; i++, obj = child) {
- child = object_resolve_path_component(obj, parts[i]);
- if (!child) {
- child = object_new("container");
- object_property_add_child(obj, parts[i], child);
- object_unref(child);
- }
- }
-
- g_strfreev(parts);
-
- return obj;
+ return child;
}
-
type_init(container_register_types)