From: Markus Armbruster <armbru@redhat.com>
To: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 10/17] object: add uint property setter/getter
Date: Tue, 16 May 2017 19:41:13 +0200 [thread overview]
Message-ID: <87fug466o6.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20170509173559.31598-11-marcandre.lureau@redhat.com> ("Marc-André Lureau"'s message of "Tue, 9 May 2017 20:35:52 +0300")
Marc-André Lureau <marcandre.lureau@redhat.com> writes:
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
> include/qom/object.h | 23 +++++++++++++++++++++++
> qom/object.c | 33 +++++++++++++++++++++++++++++++++
> 2 files changed, 56 insertions(+)
>
> diff --git a/include/qom/object.h b/include/qom/object.h
> index cd0f412ce9..abaeb8cf4e 100644
> --- a/include/qom/object.h
> +++ b/include/qom/object.h
> @@ -1094,6 +1094,29 @@ int64_t object_property_get_int(Object *obj, const char *name,
> Error **errp);
>
> /**
> + * object_property_set_uint:
> + * @value: the value to be written to the property
> + * @name: the name of the property
> + * @errp: returns an error if this function fails
> + *
> + * Writes an unsigned integer value to a property.
> + */
> +void object_property_set_uint(Object *obj, uint64_t value,
> + const char *name, Error **errp);
> +
> +/**
> + * object_property_get_uint:
> + * @obj: the object
> + * @name: the name of the property
> + * @errp: returns an error if this function fails
> + *
> + * Returns: the value of the property, converted to an unsigned integer, or 0
> + * an error occurs (including when the property value is not an integer).
> + */
> +uint64_t object_property_get_uint(Object *obj, const char *name,
> + Error **errp);
> +
> +/**
> * object_property_get_enum:
> * @obj: the object
> * @name: the name of the property
> diff --git a/qom/object.c b/qom/object.c
> index c1644dbcb7..a9259e330d 100644
> --- a/qom/object.c
> +++ b/qom/object.c
> @@ -1221,6 +1221,39 @@ int64_t object_property_get_int(Object *obj, const char *name,
> return retval;
> }
>
> +void object_property_set_uint(Object *obj, uint64_t value,
> + const char *name, Error **errp)
> +{
> + QNum *qn = qnum_from_uint(value);
Please call the variable @qnum, to match object_property_set_int() and
object_property_get_uint().
Blank line here.
> + object_property_set_qobject(obj, QOBJECT(qn), name, errp);
> + QDECREF(qn);
> +}
> +
> +uint64_t object_property_get_uint(Object *obj, const char *name,
> + Error **errp)
> +{
> + QObject *ret = object_property_get_qobject(obj, name, errp);
> + Error *err = NULL;
> + QNum *qnum;
> + uint64_t retval;
> +
> + if (!ret) {
> + return 0;
> + }
> + qnum = qobject_to_qnum(ret);
> + if (qnum) {
> + retval = qnum_get_uint(qnum, &err);
> + }
> +
> + if (!qnum || err) {
> + error_setg(errp, QERR_INVALID_PARAMETER_TYPE, name, "uint");
> + retval = 0;
> + }
> +
> + qobject_decref(ret);
> + return retval;
> +}
> +
> typedef struct EnumProperty {
> const char * const *strings;
> int (*get)(Object *, Error **);
With the nits touched up:
Reviewed-by: Markus Armbruster <armbru@redhat.com>
next prev parent reply other threads:[~2017-05-16 17:41 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-09 17:35 [Qemu-devel] [PATCH 00/17] qobject/qapi: add uint type Marc-André Lureau
2017-05-09 17:35 ` [Qemu-devel] [PATCH 01/17] qdev: remove PropertyInfo.qtype field Marc-André Lureau
2017-05-09 18:40 ` Eric Blake
2017-05-11 11:59 ` Markus Armbruster
2017-05-11 12:07 ` Paolo Bonzini
2017-05-09 17:35 ` [Qemu-devel] [PATCH 02/17] object: fix potential leak in getters Marc-André Lureau
2017-05-09 18:44 ` Eric Blake
2017-05-09 17:35 ` [Qemu-devel] [PATCH 03/17] tests: remove alt num-int cases Marc-André Lureau
2017-05-09 18:51 ` Eric Blake
2017-05-11 12:34 ` Markus Armbruster
2017-05-22 17:03 ` Markus Armbruster
2017-05-30 3:40 ` Fam Zheng
2017-05-30 14:17 ` Eric Blake
2017-05-09 17:35 ` [Qemu-devel] [PATCH 04/17] qapi: merge QInt and QFloat in QNum Marc-André Lureau
2017-05-11 14:29 ` Markus Armbruster
2017-05-11 15:09 ` Eric Blake
2017-05-30 7:32 ` Marc-André Lureau
2017-05-30 14:19 ` Eric Blake
2017-05-30 14:23 ` Markus Armbruster
2017-05-30 15:36 ` Marc-André Lureau
2017-06-02 6:30 ` Markus Armbruster
2017-06-02 11:18 ` Marc-André Lureau
2017-05-12 6:30 ` Markus Armbruster
2017-05-12 13:00 ` Luiz Capitulino
2017-05-15 7:00 ` Markus Armbruster
2017-05-12 7:37 ` Markus Armbruster
2017-05-12 13:03 ` Luiz Capitulino
2017-05-15 6:35 ` Markus Armbruster
2017-05-09 17:35 ` [Qemu-devel] [PATCH 05/17] qapi: remove promote_int Marc-André Lureau
2017-05-11 17:30 ` Markus Armbruster
2017-05-09 17:35 ` [Qemu-devel] [PATCH 06/17] qnum: add uint type Marc-André Lureau
2017-05-15 7:27 ` Markus Armbruster
2017-05-09 17:35 ` [Qemu-devel] [PATCH 07/17] json: learn to parse uint64 numbers Marc-André Lureau
2017-05-15 13:59 ` Markus Armbruster
2017-05-30 11:35 ` Marc-André Lureau
2017-05-30 14:22 ` Eric Blake
2017-05-31 7:38 ` Marc-André Lureau
2017-05-31 10:08 ` Markus Armbruster
2017-05-31 10:53 ` Marc-André Lureau
2017-05-09 17:35 ` [Qemu-devel] [PATCH 08/17] qapi: update the qobject visitor to use QUInt Marc-André Lureau
2017-05-16 17:31 ` Markus Armbruster
2017-05-17 16:26 ` Markus Armbruster
2017-05-30 12:28 ` Marc-André Lureau
2017-05-31 13:10 ` Markus Armbruster
2017-05-09 17:35 ` [Qemu-devel] [PATCH 09/17] qnum: fix get_int() with values > INT64_MAX Marc-André Lureau
2017-05-16 17:35 ` Markus Armbruster
2017-05-09 17:35 ` [Qemu-devel] [PATCH 10/17] object: add uint property setter/getter Marc-André Lureau
2017-05-16 17:41 ` Markus Armbruster [this message]
2017-05-09 17:35 ` [Qemu-devel] [PATCH 11/17] object: use more specific property type names Marc-André Lureau
2017-05-17 8:49 ` Markus Armbruster
2017-05-30 13:58 ` Marc-André Lureau
2017-05-31 13:18 ` Markus Armbruster
2017-05-09 17:35 ` [Qemu-devel] [PATCH 12/17] qdev: use int and uint properties as appropriate Marc-André Lureau
2017-05-17 11:09 ` Markus Armbruster
2017-05-09 17:35 ` [Qemu-devel] [PATCH 13/17] qdev: use appropriate getter/setters type Marc-André Lureau
2017-05-17 17:42 ` Markus Armbruster
2017-05-09 17:35 ` [Qemu-devel] [PATCH 14/17] acpi: fix s3/s4 disabled type Marc-André Lureau
2017-05-13 20:49 ` Philippe Mathieu-Daudé
2017-05-18 12:57 ` Markus Armbruster
2017-05-31 11:10 ` Marc-André Lureau
2017-05-31 13:23 ` Markus Armbruster
2017-05-31 13:26 ` Marc-André Lureau
2017-05-09 17:35 ` [Qemu-devel] [PATCH 15/17] Use uint property getter/setter where appropriate Marc-André Lureau
2017-05-18 15:20 ` Markus Armbruster
2017-05-31 12:22 ` Marc-André Lureau
2017-05-09 17:35 ` [Qemu-devel] [PATCH 16/17] RFC: qdict: add uint Marc-André Lureau
2017-05-18 15:27 ` Markus Armbruster
2017-05-09 17:35 ` [Qemu-devel] [PATCH 17/17] qobject: move dump_qobject() from block/ to qobject/ Marc-André Lureau
2017-05-13 21:41 ` [Qemu-devel] [PATCH 00/17] qobject/qapi: add uint type no-reply
2017-05-18 15:39 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fug466o6.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.