[Telepathy] The "new" avatars API

Alberto Mardegan mardy at users.sourceforge.net
Thu Aug 30 05:17:01 PDT 2007

In the latest version(s) of the Telepathy specifications, the 
RequestAvatar API has been deprecated.

I was in the process of changing MC to use the new RequestAvatars() API, 
and while testing it I noticed something that I don't like. Basically, 
when an avatar changes I'm receiving three AvatarRetrieved signals; 
after my initial surprise I realised that that's because MC is not the 
only process interested in retrieving the avatars, so there are other 
processes reacting to AvatarChanged and calling RequestAvatars().

I guess it's not that hard to find a solution, I can probably just check 
if the token is changed and ignore the signals if it's the same, but 
this is not the problem.

The problem is that IMHO the paradigma of:

1) Process A requests information
2) Information is delivered to everybody through a signal

sucks. We are transmitting data and waking up processes for no reason.
What was wrong with the old API? I'm totally fine with the new 
RequestAvatars API, but why not return the avatars in the call reply itself?
I could also be fine with the AvatarRetrieved signal, if it were 
spontaneously emitted by the CM, but if it has to be requested, how can 
my process know whether another process already asked for it?

I know this was discussed before publicly, but I'm seriously thinking 
that we should have a second thought over the issue. :-)


http://www.mardy.it <-- Geek in un lingua international!

More information about the Telepathy mailing list