Since struct TypeImpl is not public, this is useful for enumerating available types.
Signed-off-by: Andreas Färber <afaer...@suse.de> Cc: Anthony Liguori <aligu...@us.ibm.com> --- include/qemu/object.h | 8 ++++++++ qom/object.c | 5 +++++ 2 files changed, 13 insertions(+), 0 deletions(-) diff --git a/include/qemu/object.h b/include/qemu/object.h index ba37850..8ec45f2 100644 --- a/include/qemu/object.h +++ b/include/qemu/object.h @@ -428,6 +428,14 @@ ObjectClass *object_class_dynamic_cast(ObjectClass *klass, */ const char *object_class_get_name(ObjectClass *klass); +/** + * object_class_is_abstract: + * @klass: The class to obtain the abstractness for. + * + * Returns: Whether @klass is an abstract class or not. + */ +bool object_class_is_abstract(ObjectClass *klass); + ObjectClass *object_class_by_name(const char *typename); void object_class_foreach(void (*fn)(ObjectClass *klass, void *opaque), diff --git a/qom/object.c b/qom/object.c index 57cc592..1821959 100644 --- a/qom/object.c +++ b/qom/object.c @@ -451,6 +451,11 @@ const char *object_class_get_name(ObjectClass *klass) return klass->type->name; } +bool object_class_is_abstract(ObjectClass *klass) +{ + return klass->type->abstract; +} + ObjectClass *object_class_by_name(const char *typename) { TypeImpl *type = type_get_by_name(typename); -- 1.7.7