mardy at users.sourceforge.net
Mon Nov 24 03:04:27 PST 2008
the current implementation of MissionControl is not following the official
Telepathy APIs for channel requesting and dispatching.
The differences are the following:
- The ChannelDispatcher object does not exists; Instead, channel requests are
made and monitored through this interface on the Account:
- The ChannelRequest objects do not exist; the interface above mentions their
object paths, but they are used only as string identifiers. The Cancel method
and the Failed and Succeeded signals are implemented in the ChannelRequests
All the rest, including ChannelDispatchOperation and all the Client APIs, is the
same as in the specs.
I'd like to explain the reason for these changes (in random order):
- Time: the current MC implementation was the one requiring less work
- Performance: The ChannelDispatcher object is not necessary, and the
ChannelRequest is a good thing only in theory: with its Proceed() method and the
need to connect to the Failed and Succeeded signals, I'm afraid it's making
The TP spec is IMHO just more beautiful, but I don't think that APIs should be
judged on the such criteria; I consider its channel requesting API inconvenient,
even though of course it can be wrapped in a nicer library.
That said, if someone feels like submitting patches to MC to implement the
official TP spec, I'm not going to complain. :-) It would be nice if the two
implementations could be chosen by some #ifdef, so that once they are both ready
we could have some performance evaluations.
But for the time being, I cannot (and don't really want to) commit to this.
http://www.mardy.it <-- Geek in un lingua international!
More information about the Telepathy