diff mbox

[PULL,10/18] qom: API to get instance_size of a type

Message ID 1466145399-32209-11-git-send-email-david@gibson.dropbear.id.au
State New
Headers show

Commit Message

David Gibson June 17, 2016, 6:36 a.m. UTC
From: Bharata B Rao <bharata@linux.vnet.ibm.com>

Add an API object_type_get_size(const char *typename) that returns the
instance_size of the give typename.

Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
 include/qom/object.h | 8 +++++++-
 qom/object.c         | 8 ++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/include/qom/object.h b/include/qom/object.h
index 99de539..2f8ac47 100644
--- a/include/qom/object.h
+++ b/include/qom/object.h
@@ -1607,5 +1607,11 @@  int object_child_foreach_recursive(Object *obj,
  */
 Object *container_get(Object *root, const char *path);
 
-
+/**
+ * object_type_get_instance_size:
+ * @typename: Name of the Type whose instance_size is required
+ *
+ * Returns the instance_size of the given @typename.
+ */
+size_t object_type_get_instance_size(const char *typename);
 #endif
diff --git a/qom/object.c b/qom/object.c
index 3bc8a00..0311414 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -202,6 +202,14 @@  static size_t type_object_get_size(TypeImpl *ti)
     return 0;
 }
 
+size_t object_type_get_instance_size(const char *typename)
+{
+    TypeImpl *type = type_get_by_name(typename);
+
+    g_assert(type != NULL);
+    return type_object_get_size(type);
+}
+
 static bool type_is_ancestor(TypeImpl *type, TypeImpl *target_type)
 {
     assert(target_type);