Signed-off-by: Liu Ping Fan <pingf...@linux.vnet.ibm.com> --- include/qemu/object.h | 2 ++ qom/object.c | 6 ++++++ 2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/include/qemu/object.h b/include/qemu/object.h index 8b17776..a66e996 100644 --- a/include/qemu/object.h +++ b/include/qemu/object.h @@ -479,6 +479,8 @@ void object_initialize(void *obj, const char *typename); */ void object_finalize(void *obj); +bool object_is_type_str(Object *obj, const char *typename); + /** * object_dynamic_cast: * @obj: The object to cast. diff --git a/qom/object.c b/qom/object.c index 00bb3b0..6c27d90 100644 --- a/qom/object.c +++ b/qom/object.c @@ -425,6 +425,12 @@ static bool type_is_ancestor(TypeImpl *type, TypeImpl *target_type) return false; } +bool object_is_type_str(Object *obj, const char *typename) +{ + TypeImpl *target_type = type_get_by_name(typename); + return !target_type || type_is_ancestor(obj->class->type, target_type); +} + static bool object_is_type(Object *obj, TypeImpl *target_type) { return !target_type || type_is_ancestor(obj->class->type, target_type); -- 1.7.4.4