qom: API to get instance_size of a type
authorBharata B Rao <bharata@linux.vnet.ibm.com>
Fri, 10 Jun 2016 00:59:00 +0000 (06:29 +0530)
committerDavid Gibson <david@gibson.dropbear.id.au>
Fri, 17 Jun 2016 06:33:48 +0000 (16:33 +1000)
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
qom/object.c

index 99de539..2f8ac47 100644 (file)
@@ -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
index 3bc8a00..0311414 100644 (file)
@@ -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);