qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/5] qom: introduce object_is_type_str(), so we


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 2/5] qom: introduce object_is_type_str(), so we can judge its type.
Date: Tue, 10 Jul 2012 10:39:01 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0

Il 10/07/2012 08:16, Liu Ping Fan ha scritto:
> Signed-off-by: Liu Ping Fan <address@hidden>
> ---
>  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);

Please call this object_is_instance_of, and just call
object_dynamic_cast internally so that interfaces are handled properly.

Paolo

> +
>  /**
>   * 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);
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]