[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 27/37] qom: Introduce object_class_is_abstract()
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH 27/37] qom: Introduce object_class_is_abstract() |
Date: |
Mon, 28 Jan 2013 17:18:44 +0100 |
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 <address@hidden>
Cc: Anthony Liguori <address@hidden>
---
include/qom/object.h | 8 ++++++++
qom/object.c | 5 +++++
2 Dateien geändert, 13 Zeilen hinzugefügt(+)
diff --git a/include/qom/object.h b/include/qom/object.h
index 8e16ea8..48e80ba 100644
--- a/include/qom/object.h
+++ b/include/qom/object.h
@@ -691,6 +691,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 03e6f24..e200282 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;
--
1.7.10.4
- [Qemu-devel] [PATCH 12/37] target-i386: Topology & APIC ID utility functions, (continued)
- [Qemu-devel] [PATCH 12/37] target-i386: Topology & APIC ID utility functions, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 16/37] target-i386: Print deprecation warning if xlevel < 0x80000000, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 15/37] target-i386: Drop redundant list of CPU definitions, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 17/37] target-i386: Replace uint32_t vendor fields by vendor string in x86_def_t, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 25/37] target-openrisc: Detect attempt to instantiate non-CPU type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 22/37] target-arm: Detect attempt to instantiate non-CPU type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 28/37] target-alpha: Catch attempt to instantiate abstract type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 23/37] target-alpha: Detect attempt to instantiate non-CPU type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 20/37] target-i386: Remove setting tsc-frequency from x86_def_t, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 24/37] target-m68k: Detect attempt to instantiate non-CPU type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 27/37] qom: Introduce object_class_is_abstract(),
Andreas Färber <=
- [Qemu-devel] [PATCH 30/37] target-m68k: Catch attempt to instantiate abstract type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 26/37] target-unicore32: Detect attempt to instantiate non-CPU type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 32/37] target-unicore32: Catch attempt to instantiate abstract type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 33/37] target-openrisc: Use type_register() instead of type_register_static(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 35/37] target-m68k: Use type_register() instead of type_register_static(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 29/37] target-arm: Catch attempt to instantiate abstract type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 36/37] cpu: Unconditionalize CPUState fields, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 31/37] target-openrisc: Catch attempt to instantiate abstract type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 37/37] kvm: Pass CPUState to kvm_on_sigbus_vcpu(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 34/37] target-unicore32: Use type_register() instead of type_register_static(), Andreas Färber, 2013/01/28