[Bug 28200] TpBaseContactList
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Aug 4 13:49:29 CEST 2010
https://bugs.freedesktop.org/show_bug.cgi?id=28200
--- Comment #41 from David Laban <david.laban at collabora.co.uk> 2010-08-04 04:49:29 PDT ---
> https://bugs.freedesktop.org/show_bug.cgi?id=28200
>
> --- Comment #40 from Simon McVittie <simon.mcvittie at collabora.co.uk>
> 2010-08-04 03:02:12 PDT --- (In reply to comment #39)
>
> > Needing to handle multiple contacts at the same time is a pain in the
> > ass, if you have to do everything async *before* calling the callback,
> > as the API asks you to (requires looping and counting the number of
> > async calls you make). What is the use-case for adding multiple contacts
> > with the same message?
>
> At the D-Bus level, the "change" methods are:
>
> * RequestSubscription: being plural is only useful if you're in a protocol
> like SIP/SIMPLE where the contact list is transient. Empathy could store
> the contact list locally (in libfolks?), and drop it into both
> AuthorizePublication and RequestSubscription every time you connect. On
> the other hand, perhaps we want to declare that connection managers for
> SIMPLE should store your contact list in the XDG_DATA_HOME anyway?
Ah, okay. That makes sense now. Thanks.
> Perhaps it'd be worth making the list (but not group) operations singular
> in C, I don't know. If we do, we should probably make them singular on
> D-Bus too?
>
> I don't think it's really all that onerous to count changes, though -
> Gabble now has gabble_simple_async_counter_new(), which we could provide
> in telepathy-glib if people like it enough.
Oh, it's not a problem. I guess it's just a case of making sure there is a
use-case for it not being as simple as I thought it could be.
> > Also, doing it GAsyncResult-based means that your function has two
> > pointers that get passed into it.
>
> Not our bug; this is how GAsyncResult works, and being consistent with
> other GObject libraries (potentially gaining "free" CM bindings later) is
> important.
I understand the thing of getting "free" GAsyncResult based bindings on the
client side. I don't understand how this would help you write a tp-glib-based
CM in (for example) python. Are there also plans to help you implement
GAsyncResult-based interfaces in other languages? I'd assumed there wouldn't
be (it seems like a less trivial task, with fewer use-cases).
If there are plans to help with this too, then ++ times a million on using
GAsyncResult. Otherwise, it seems a little bit more complicated than an api of
the form
tp_mutable_contact_list_request_subscription_finished (self, token)/
tp_mutable_contact_list_request_subscription_failed (self, token, error)
with no real gain. That's the only point I was trying to make.
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the telepathy-bugs
mailing list