[Bug 74581] account storage plugins: make "ready" unnecessary

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Feb 5 10:54:38 PST 2014


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

--- Comment #3 from Simon McVittie <simon.mcvittie at collabora.co.uk> ---
Created attachment 93480
  --> https://bugs.freedesktop.org/attachment.cgi?id=93480&action=edit
McdStorage: watch and proxy plugins' change-notification  signals

This lets us get rid of the "ready" vfunc on plugins: we now
connect to each plugin's signals only after we have called
mcp_account_storage_list(), so we won't get double-notification for
accounts that are both present in the initial list and signalled.

This means we can remove a queue of delayed signal emissions from the
test D-Bus plugin (and when it's ported to this API, from Empathy's
libaccounts/UOA plugin). As far as I can see, list() and ready() happen
within the same main-loop iteration anyway, so I don't think it was
even possible to receive notification of a new account in that window.

Empathy's GNOME Online Accounts plugin never really implemented this:
in theory, it was incorrect, since any account that happened to be
added between list() and ready() would be lost altogether. However,
list() and ready() seem to happen in the same main-loop iteration,
so this might never have been a practical concern.

Rather than "fixing" Empathy's GOA plugin, it seems better to remove
the difficult case altogether.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.


More information about the telepathy-bugs mailing list