From: "Andreas Färber" <afaerber@suse.de>
To: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Cc: mtosatti@redhat.com, stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH 1/5] qom: add a generic mechanism to resolve paths
Date: Tue, 17 Jun 2014 17:19:32 +0200 [thread overview]
Message-ID: <53A05C84.6050300@suse.de> (raw)
In-Reply-To: <53A059CD.7050807@redhat.com>
Am 17.06.2014 17:07, schrieb Paolo Bonzini:
> Il 17/06/2014 16:18, Andreas Färber ha scritto:
>>> +void object_property_add_full(Object *obj, const char *name, const
>>> char *type,
>>> + ObjectPropertyAccessor *get,
>>> + ObjectPropertyAccessor *set,
>>> + ObjectPropertyResolve *resolve,
>>> + ObjectPropertyRelease *release,
>>> + void *opaque, Error **errp);
>>
>> I'm a bit concerned about the duplication going on here, e.g. of the
>> forbidden characters. I think we should either just add the new argument
>> to object_property_add() and add NULL arguments at old call sites as
>> done before, or we should (to avoid future _really_full,
>> _really_really_full versions) return the resulting ObjectProperty * for
>> modification by the caller (in this case: ->resolve = foo).
>
> The reason I went with "_full" is that the new argument is really needed
> only in a minority of cases. There are ~50 occurrences right now, and I
> expect only a handful of them to need a ->resolve callback (and so far
> all of them would be in qom/object.c).
>
> There are many examples in glib's GSource (g_timeout_add_full,
> g_main_context_invoke_full, etc.) or elsewhere in glib
> (g_format_size_full).
>
> Since we do not have an ABI to follow, we could add arguments to the
> _full routine while keeping the shorthand version as is.
>
> I can change the 50 occurrences if you want though.
So what about my alternative suggestion of changing _add's void ->
ObjectProperty*? That would limit future updating to the struct itself
while still avoiding to touch the 50.
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
next prev parent reply other threads:[~2014-06-17 15:19 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-11 16:49 [Qemu-devel] [PATCH 0/5] qom: path resolution, property aliases and more Paolo Bonzini
2014-06-11 16:49 ` [Qemu-devel] [PATCH 1/5] qom: add a generic mechanism to resolve paths Paolo Bonzini
2014-06-17 13:08 ` Peter Crosthwaite
2014-06-17 14:18 ` Andreas Färber
2014-06-17 15:07 ` Paolo Bonzini
2014-06-17 15:19 ` Andreas Färber [this message]
2014-06-17 15:25 ` Paolo Bonzini
2014-06-17 15:15 ` Andreas Färber
2014-06-11 16:49 ` [Qemu-devel] [PATCH 2/5] qom: add object_property_add_alias() Paolo Bonzini
2014-06-17 15:42 ` Andreas Färber
2014-06-11 16:49 ` [Qemu-devel] [PATCH 3/5] qom: allow creating an alias of a child<> property Paolo Bonzini
2014-06-17 13:28 ` Peter Crosthwaite
2014-06-17 13:31 ` Paolo Bonzini
2014-06-17 13:33 ` Andreas Färber
2014-06-17 16:37 ` Andreas Färber
2014-06-17 16:46 ` Paolo Bonzini
2014-06-17 16:47 ` Andreas Färber
2014-06-11 16:49 ` [Qemu-devel] [PATCH 4/5] qom: allow creating an alias of an object Paolo Bonzini
2014-06-17 13:55 ` Peter Crosthwaite
2014-06-17 14:06 ` Paolo Bonzini
2014-06-17 14:15 ` Paolo Bonzini
2014-06-17 14:16 ` Peter Crosthwaite
2014-06-17 16:48 ` Paolo Bonzini
2014-06-11 16:49 ` [Qemu-devel] [PATCH 5/5] mc146818rtc: add "rtc" link to "/machine" Paolo Bonzini
2014-06-17 14:09 ` Peter Crosthwaite
2014-06-17 14:12 ` Paolo Bonzini
2014-06-17 14:25 ` Peter Crosthwaite
2014-06-17 15:01 ` Paolo Bonzini
2014-06-17 16:55 ` Andreas Färber
2014-06-17 17:16 ` Paolo Bonzini
2014-06-17 17:09 ` Andreas Färber
2014-06-17 17:30 ` Paolo Bonzini
2014-06-17 17:38 ` Andreas Färber
2014-06-18 7:11 ` Paolo Bonzini
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=53A05C84.6050300@suse.de \
--to=afaerber@suse.de \
--cc=mtosatti@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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.