diff options
Diffstat (limited to 'qom/container.c')
-rw-r--r-- | qom/container.c | 27 |
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) |