replace _mcd_account_needs_dispatch() (aka always_dispatch)
Submitted by Simon McVittie
Assigned to Telepathy bugs list
Description
_mcd_account_needs_dispatch(), also known as the always_dispatch struct member and attribute, has two orthogonal functions:
-
flags the account as OK to connect even when the McdConnectivityMonitor thinks it shouldn't (suspending, no network, etc.)
-
in mcd_connection_need_dispatch(), if a non-MC client has requested channels by "going behind MC's back", we would normally only pass them to Observers, but if the account has always_dispatch, we pass them to Handlers too (potentially leading to the non-MC client and the Handler fighting over the channel)
In practice, always_dispatch means "is telepathy-ring".
We should have a more reasonable API for these things, driven by what Telepathy users actually need.
Version: git master