From 8b45d447ce5cce07cbdf0f42b969137430284d5c Mon Sep 17 00:00:00 2001 From: Anthony Liguori Date: Fri, 23 Dec 2011 09:08:05 -0600 Subject: container: make a decendent of Object Signed-off-by: Anthony Liguori --- v1 -> v2 - Add license (Paolo) --- qom/Makefile | 2 +- qom/container.c | 27 +++++++++++++++++++++++++++ qom/object.c | 9 ++++----- 3 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 qom/container.c (limited to 'qom') diff --git a/qom/Makefile b/qom/Makefile index a3c789207e..f33f0be8c9 100644 --- a/qom/Makefile +++ b/qom/Makefile @@ -1 +1 @@ -qom-y = object.o +qom-y = object.o container.o diff --git a/qom/container.c b/qom/container.c new file mode 100644 index 0000000000..946cbff90f --- /dev/null +++ b/qom/container.c @@ -0,0 +1,27 @@ +/* + * Device Container + * + * Copyright IBM, Corp. 2012 + * + * Authors: + * Anthony Liguori + * + * This work is licensed under the terms of the GNU GPL, version 2 or later. + * See the COPYING file in the top-level directory. + */ + +#include "qemu/object.h" +#include "module.h" + +static TypeInfo container_info = { + .name = "container", + .instance_size = sizeof(Object), + .parent = TYPE_OBJECT, +}; + +static void container_init(void) +{ + type_register_static(&container_info); +} + +device_init(container_init); diff --git a/qom/object.c b/qom/object.c index 33217b820f..4261944849 100644 --- a/qom/object.c +++ b/qom/object.c @@ -662,14 +662,13 @@ const char *object_property_get_type(Object *obj, const char *name, Error **errp Object *object_get_root(void) { - static DeviceState *object_root; + static Object *root; - if (!object_root) { - object_root = qdev_create(NULL, "container"); - qdev_init_nofail(object_root); + if (!root) { + root = object_new("container"); } - return OBJECT(object_root); + return root; } static void object_get_child_property(Object *obj, Visitor *v, void *opaque, -- cgit v1.2.1