diff mbox

[RFC,v2,4/9] qom: Make object_class_get_parent() const-aware

Message ID 20170329194148.19015-5-ehabkost@redhat.com
State New
Headers show

Commit Message

Eduardo Habkost March 29, 2017, 7:41 p.m. UTC
This makes object_class_get_parent() return a const pointer in
case its class argument is a const pointer.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 include/qom/object.h | 6 +++++-
 qom/object.c         | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)
diff mbox

Patch

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);