From: Andreas Färber Date: Wed, 23 Jan 2013 11:20:18 +0000 (+0100) Subject: qom: Introduce object_class_is_abstract() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=178623789465287624c48f7ef12d0ab83a1dc380;p=qemu.git qom: Introduce object_class_is_abstract() This lets a caller check if an ObjectClass as returned by, e.g., object_class_by_name() is instantiatable. Signed-off-by: Andreas Färber Cc: Anthony Liguori --- diff --git a/include/qom/object.h b/include/qom/object.h index 8e16ea8a44..48e80ba229 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -690,6 +690,14 @@ ObjectClass *object_class_get_parent(ObjectClass *klass); */ const char *object_class_get_name(ObjectClass *klass); +/** + * object_class_is_abstract: + * @klass: The class to obtain the abstractness for. + * + * Returns: %true if @klass is abstract, %false otherwise. + */ +bool object_class_is_abstract(ObjectClass *klass); + /** * object_class_by_name: * @typename: The QOM typename to obtain the class for. diff --git a/qom/object.c b/qom/object.c index 03e6f24d28..e200282172 100644 --- a/qom/object.c +++ b/qom/object.c @@ -501,6 +501,11 @@ ObjectClass *object_get_class(Object *obj) return obj->class; } +bool object_class_is_abstract(ObjectClass *klass) +{ + return klass->type->abstract; +} + const char *object_class_get_name(ObjectClass *klass) { return klass->type->name;