All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	qemu-devel@nongnu.org,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: Re: [PATCH v3 11/19] qom: field_prop_set_default_value() helper
Date: Tue, 24 Nov 2020 10:58:27 +0100	[thread overview]
Message-ID: <87tutfnkjg.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20201123194818.2773508-12-ehabkost@redhat.com> (Eduardo Habkost's message of "Mon, 23 Nov 2020 14:48:10 -0500")

Eduardo Habkost <ehabkost@redhat.com> writes:

> Move code that sets the property default value to a separate
> function, to reduce duplication and make refactoring easier.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> This is a new patch added in v3 of this series.
> Hopefully, this will make the series easier to review.
>
> The field_prop_set_default_value() was added in v2 at
> "qom: Use qlit to represent property defaults".
> ---
>  qom/field-property.c | 24 ++++++++++++++++--------
>  1 file changed, 16 insertions(+), 8 deletions(-)
>
> diff --git a/qom/field-property.c b/qom/field-property.c
> index cb729626ce..6a0df7c6ea 100644
> --- a/qom/field-property.c
> +++ b/qom/field-property.c
> @@ -62,6 +62,17 @@ static void static_prop_release_dynamic_prop(Object *obj, const char *name,
>      g_free(prop);
>  }
>  
> +static void field_prop_set_default_value(ObjectProperty *op,
> +                                         Property *prop)
> +{
> +    if (!prop->set_default) {
> +        return;
> +    }
> +
> +    assert(prop->info->set_default_value);
> +    prop->info->set_default_value(op, prop);
> +}
> +
>  ObjectProperty *
>  object_property_add_field(Object *obj, const char *name,
>                            Property *prop,
> @@ -83,11 +94,9 @@ object_property_add_field(Object *obj, const char *name,
>      object_property_set_description(obj, name,
>                                      newprop->info->description);
>  
> -    if (newprop->set_default) {
> -        newprop->info->set_default_value(op, newprop);
> -        if (op->init) {
> -            op->init(obj, op);
> -        }
> +    field_prop_set_default_value(op, newprop);
> +    if (op->init) {
> +        op->init(obj, op);
>      }

op->init() is now called even when !newprop->set_default.  Why is that
okay?

>  
>      op->allow_set = allow_set;
> @@ -113,9 +122,8 @@ object_class_property_add_field_static(ObjectClass *oc, const char *name,
>                                         prop->info->release,
>                                         prop);
>      }
> -    if (prop->set_default) {
> -        prop->info->set_default_value(op, prop);
> -    }
> +
> +    field_prop_set_default_value(op, prop);
>      if (prop->info->description) {
>          object_class_property_set_description(oc, name,
>                                                prop->info->description);



  reply	other threads:[~2020-11-24  9:59 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-23 19:47 [PATCH v3 00/19] qom: Use qlit to represent property defaults Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 01/19] qnum: Make qnum_get_double() get const pointer Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 02/19] qnum: Make num_x/num_y variables at qnum_is_equal() const Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 03/19] qnum: QNumValue type for QNum value literals Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 04/19] qnum: qnum_value_is_equal() function Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 05/19] qlit: Use qnum_value_is_equal() when comparing QNums Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 06/19] qlit: Rename QLIT_QNUM to QLIT_QNUM_INT Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 07/19] qlit: Use QNumValue to represent QNums Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 08/19] qlit: Move qlit_equal_qobject() reference values to array Eduardo Habkost
2020-11-24  9:51   ` Markus Armbruster
2020-11-24 14:47     ` Eduardo Habkost
2020-11-24 15:17       ` Markus Armbruster
2020-11-23 19:48 ` [PATCH v3 09/19] qlit: Add more test literals to qlit_equal_qobject() test case Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 10/19] qlit: Support all types of QNums Eduardo Habkost
2020-11-24  9:55   ` Markus Armbruster
2020-11-24 10:56     ` Paolo Bonzini
2020-11-24 12:22       ` Markus Armbruster
2020-11-24 15:03         ` Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 11/19] qom: field_prop_set_default_value() helper Eduardo Habkost
2020-11-24  9:58   ` Markus Armbruster [this message]
2020-11-24 14:44     ` Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 12/19] qom: Replace defval value in Property with QLitObject Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 13/19] qom: Fix documentation of UUID property type Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 14/19] qom: Don't ignore defval on UUID property Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 15/19] qom: Make object_property_set_default() public Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 16/19] qom: Make PropertyInfo.set_default_value optional Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 17/19] qom: Delete field_prop_set_default_value_*int() Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 18/19] qom: Delete set_default_uuid() Eduardo Habkost
2020-11-23 19:48 ` [PATCH v3 19/19] qom: Delete set_default_value_bool() Eduardo Habkost

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=87tutfnkjg.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=pbonzini@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.