[Bug 25287] change notification for Client objects
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Nov 26 13:03:30 CET 2009
http://bugs.freedesktop.org/show_bug.cgi?id=25287
--- Comment #1 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2009-11-26 04:03:30 PST ---
(In reply to comment #0)
> Is there any reason that Client objects must be immutable?
Service-activatable Clients with a .client file have to be immutable in order
to avoid the .client file being full of lies.
Non-activatable Clients are immutable to avoid adding more complexity to an
already-subtle spec; it took quite a long time to get ChannelDispatcher
designed and implemented in MC 5, and we still haven't quite finished getting
MC 5 to implement the spec *correctly* :-)
> Rob says, it would be nice to have a backwards compatible way of notifying the
> CD of changes to a client's filters.
That way is to have multiple Client heads. Empathy implements two clients,
Empathy (service-activatable for basic functionality - Text at the moment, I
think?), and Empathy.MoreThanMeetsTheEye (bonus functionality like file
transfers and VoIP).
Adding a filter: add a Client head (then optionally remove any old Client head
that is a subset of the new one)
Removing a filter: add a Client head with the appropriate subset of filters,
then remove the old Client head that had the superset
Based on implementation experience, we could consider having
change-notification in Telepathy 1.0, but my instinct is to say that that would
add more complexity than it was worth. The ChannelDispatcher has to deal with
Clients appearing and disappearing *anyway*, so if we make the filters
immutable and use multi-headed Clients to implement filter changes, we get that
functionality without any extra code.
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the telepathy-bugs
mailing list