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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).