[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v2 4/9] qom: Make object_class_get_parent() const-awar
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [RFC v2 4/9] qom: Make object_class_get_parent() const-aware |
Date: |
Wed, 29 Mar 2017 16:41:43 -0300 |
This makes object_class_get_parent() return a const pointer in
case its class argument is a const pointer.
Signed-off-by: Eduardo Habkost <address@hidden>
---
include/qom/object.h | 6 +++++-
qom/object.c | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/include/qom/object.h b/include/qom/object.h
index 6829735f99..674a45862d 100644
--- a/include/qom/object.h
+++ b/include/qom/object.h
@@ -873,7 +873,11 @@ ObjectClass *object_class_dynamic_cast(ObjectClass *klass,
*
* Returns: The parent for @klass or %NULL if none.
*/
-ObjectClass *object_class_get_parent(ObjectClass *klass);
+#define object_class_get_parent(klass) \
+ (QUALIFIED_CAST(typeof(klass), ObjectClass *) \
+ object_class_get_parent_const(klass))
+
+const ObjectClass *object_class_get_parent_const(const ObjectClass *klass);
/**
* object_class_get_name:
diff --git a/qom/object.c b/qom/object.c
index eb4bc924ff..8f60ad9b8e 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -774,7 +774,7 @@ ObjectClass *object_class_by_name(const char *typename)
return type->class;
}
-ObjectClass *object_class_get_parent(ObjectClass *class)
+const ObjectClass *object_class_get_parent_const(const ObjectClass *class)
{
TypeImpl *type = type_get_parent(class->type);
--
2.11.0.259.g40922b1
- [Qemu-devel] [RFC v2 0/9] qom: Make object_get_class()/*_GET_CLASS return const pointers, Eduardo Habkost, 2017/03/29
- [Qemu-devel] [RFC v2 2/9] Simplify code using *MACHINE_GET_CLASS, Eduardo Habkost, 2017/03/29
- [Qemu-devel] [RFC v2 1/9] configure: test if _Generic works as expected, Eduardo Habkost, 2017/03/29
- [Qemu-devel] [RFC v2 3/9] qom: QUALIFIED_CAST helper macro, Eduardo Habkost, 2017/03/29
- [Qemu-devel] [RFC v2 4/9] qom: Make object_class_get_parent() const-aware,
Eduardo Habkost <=
- [Qemu-devel] [RFC v2 5/9] Make class parameter const at some functions, Eduardo Habkost, 2017/03/29
- [Qemu-devel] [RFC v2 6/9] Explicitly cast the *_GET_CLASS() value when we break the rules, Eduardo Habkost, 2017/03/29
- [Qemu-devel] [RFC v2 8/9] qom: Make class cast macros/functions const-aware, Eduardo Habkost, 2017/03/29
- [Qemu-devel] [RFC v2 9/9] qom: Make object_get_class() return const pointer, Eduardo Habkost, 2017/03/29
- Re: [Qemu-devel] [RFC v2 0/9] qom: Make object_get_class()/*_GET_CLASS return const pointers, Laszlo Ersek, 2017/03/29
- Re: [Qemu-devel] [RFC v2 0/9] qom: Make object_get_class()/*_GET_CLASS return const pointers, Eduardo Habkost, 2017/03/29
- [Qemu-devel] [RFC v2 7/9] Use const variables for *_GET_CLASS values, Eduardo Habkost, 2017/03/29
- Re: [Qemu-devel] [RFC v2 0/9] qom: Make object_get_class()/*_GET_CLASS return const pointers, Paolo Bonzini, 2017/03/30