[Bug 27874] TpBaseClient Approver support

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed May 5 15:13:37 CEST 2010


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

--- Comment #4 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-05-05 06:13:36 PDT ---
I think the distinction is: the Channels passed to AddDispatchOperation are an
*initial* set of channels, while the CDO's Channels property is the *current*
set of channels.

I'd be inclined to pass them to the callback; also, the Account and Connection.

Another thing to consider, which I missed during TpBaseClient code review
(sorry): uniqueness guarantees. At the moment, you always make a new TpAccount
and TpConnection in _tp_base_client_observe_channels, and presumably in the
Approver. I think it should be more like this:

* each TpBaseClient has a reference to a TpAccountManager
* if the TpBaseClient's dbus_daemon is the same as returned by
tp_dbus_daemon_dup(), then the account manager is guaranteed to be the one from
tp_account_manager_dup(); otherwise, it's given by tp_account_manager_new()
* the TpAccount in ObserveChannels is made using
tp_account_manager_ensure_account() on the AM
* the TpConnection is made using tp_account_ensure_connection() on the Account
* the channels are attached to that TpConnection

This means that any TpContacts will all come from the same TpConnection, which
is a considerable win.

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