[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 11/31] qom: add object_property_add_const_link
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 11/31] qom: add object_property_add_const_link |
Date: |
Tue, 19 May 2015 13:50:17 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
Andreas, Eduardo,
can you review and ack this one?
On 11/05/2015 15:48, Paolo Bonzini wrote:
> Suggested-by: Eduardo Habkost <address@hidden>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> include/qom/object.h | 18 ++++++++++++++++++
> qom/object.c | 16 ++++++++++++++++
> 2 files changed, 34 insertions(+)
>
> diff --git a/include/qom/object.h b/include/qom/object.h
> index d2d7748..0505f20 100644
> --- a/include/qom/object.h
> +++ b/include/qom/object.h
> @@ -1290,6 +1290,24 @@ void object_property_add_alias(Object *obj, const char
> *name,
> Error **errp);
>
> /**
> + * object_property_add_const_link:
> + * @obj: the object to add a property to
> + * @name: the name of the property
> + * @target: the object to be referred by the link
> + * @errp: if an error occurs, a pointer to an area to store the error
> + *
> + * Add an unmodifiable link for a property on an object. This function will
> + * add a property of type link<TYPE> where TYPE is the type of @target.
> + *
> + * The caller must ensure that @target stays alive as long as
> + * this property exists. In the case @target is a child of @obj,
> + * this will be the case. Otherwise, the caller is responsible for
> + * taking a reference.
> + */
> +void object_property_add_const_link(Object *obj, const char *name,
> + Object *target, Error **errp);
> +
> +/**
> * object_property_set_description:
> * @obj: the object owning the property
> * @name: the name of the property
> diff --git a/qom/object.c b/qom/object.c
> index b8dff43..ba89518 100644
> --- a/qom/object.c
> +++ b/qom/object.c
> @@ -1266,6 +1266,22 @@ out:
> g_free(full_type);
> }
>
> +void object_property_add_const_link(Object *obj, const char *name,
> + Object *target, Error **errp)
> +{
> + char *link_type;
> + ObjectProperty *op;
> +
> + link_type = g_strdup_printf("link<%s>", object_get_typename(target));
> + op = object_property_add(obj, name, link_type,
> + object_get_child_property, NULL,
> + NULL, target, errp);
> + if (op != NULL) {
> + op->resolve = object_resolve_child_property;
> + }
> + g_free(link_type);
> +}
> +
> gchar *object_get_canonical_path_component(Object *obj)
> {
> ObjectProperty *prop = NULL;
>
- [Qemu-devel] [PATCH 10/31] vl: allow full-blown QemuOpts syntax for -global, (continued)
- [Qemu-devel] [PATCH 10/31] vl: allow full-blown QemuOpts syntax for -global, Paolo Bonzini, 2015/05/11
- [Qemu-devel] [PATCH 09/31] pflash_cfi01: add secure property, Paolo Bonzini, 2015/05/11
- [Qemu-devel] [PATCH 12/31] vl: run "late" notifiers immediately, Paolo Bonzini, 2015/05/11
- [Qemu-devel] [PATCH 13/31] target-i386: create a separate AddressSpace for each CPU, Paolo Bonzini, 2015/05/11
- [Qemu-devel] [PATCH 11/31] qom: add object_property_add_const_link, Paolo Bonzini, 2015/05/11
- [Qemu-devel] [PATCH 14/31] hw/i386: add a separate region that tracks the SMRAME bit, Paolo Bonzini, 2015/05/11
- [Qemu-devel] [PATCH 15/31] target-i386: use memory API to implement SMRAM, Paolo Bonzini, 2015/05/11
- [Qemu-devel] [PATCH 16/31] hw/i386: remove smram_update, Paolo Bonzini, 2015/05/11
- [Qemu-devel] [PATCH 17/31] q35: implement high SMRAM, Paolo Bonzini, 2015/05/11
- [Qemu-devel] [PATCH 18/31] q35: fix ESMRAMC default, Paolo Bonzini, 2015/05/11
- [Qemu-devel] [PATCH 19/31] q35: add config space wmask for SMRAM and ESMRAMC, Paolo Bonzini, 2015/05/11