From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:40518) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RrUnP-0006FY-2k for qemu-devel@nongnu.org; Sun, 29 Jan 2012 08:27:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RrUnN-0000Uf-J3 for qemu-devel@nongnu.org; Sun, 29 Jan 2012 08:27:51 -0500 Received: from cantor2.suse.de ([195.135.220.15]:50572 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RrUnN-0000UR-AL for qemu-devel@nongnu.org; Sun, 29 Jan 2012 08:27:49 -0500 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Sun, 29 Jan 2012 14:25:25 +0100 Message-Id: <1327843531-32403-2-git-send-email-afaerber@suse.de> In-Reply-To: <1327843531-32403-1-git-send-email-afaerber@suse.de> References: <1327843531-32403-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH 1/7][RESEND] qom: Introduce object_class_is_abstract() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Anthony Liguori , =?UTF-8?q?Andreas=20F=C3=A4rber?= Since struct TypeImpl is not public, this is useful for enumerating available types. Signed-off-by: Andreas F=C3=A4rber Cc: Anthony Liguori --- 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); =20 +/** + * 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); =20 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; } =20 +bool object_class_is_abstract(ObjectClass *klass) +{ + return klass->type->abstract; +} + ObjectClass *object_class_by_name(const char *typename) { TypeImpl *type =3D type_get_by_name(typename); --=20 1.7.7