[Bug 28200] TpBaseContactList

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jun 28 14:17:56 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=28200

--- Comment #27 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-06-28 05:17:55 PDT ---
Changes awaiting review in smcv/contact-list-manager:

* new utility method: tp_simple_async_report_success_in_idle
* updated spec incorporating the RequestContactList rename and other errata
* API change: all "write" virtual methods are now asynchronous
* API change: new mandatory get_group_members, set_group_members_async methods

At some point we could relax either set_group_members_async or the
(add_to_group_async, remove_from_group_async) pair to be optional-to-implement
with a default implementation in terms of the other, but I don't think
requiring subclasses to implement both is onerous: in Gabble it took 91 lines
(including comments etc.) to implement both get_group_members and
set_group_members.

It's much easier for a subclass to iterate over a concrete data model than it
is for TpBaseContactList to fake it.

Possible extra work on this implementation:

* If we mandate that during the call to tp_base_contact_list_groups_removed(),
get_group_members() still reflects the previous state, then we could avoid
peeking into the TpGroupMixin. This needs minor changes to Gabble and the
example CM.

* Similar for tp_base_contact_list_groups_renamed().

* Similar for tp_base_contact_list_emulate_rename_group().

-- 
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