[Telepathy] Avatar interface proposal

Robert McQueen robert.mcqueen at collabora.co.uk
Thu Jun 8 06:07:04 PDT 2006


Andre Magalhaes wrote:
> Hi all,
> 
> So lets start the cooperation :).

Cool. :)

> Please comment on it. I am not sure if the GetAvatar should have a
> avatar_id as a parameter, as it's clearly not necessary.

Yeah, it shouldn't. It justs suggests that you could put in a different
hash and request a different avatar from the same person somehow, which
is never the case. :)

> org.freedesktop.Telepathy.Connection.Interface.Avatar
> 
>    An interface for requesting a contact avatar on a given
>    connection.

Maybe Avatars versus Avatar? :)

> Methods:
> GetAvatarId (u: contact ) -> u: avatar_id

I think I'd maybe call them tokens rather than IDs, because they have no
significance other than they change when the avatar does. We can't
specify the type of hash used either, because we're obliged to use
whatever the underlying protocol uses.

Also, I would go for GetAvatarTokens (au: contacts) -> as: token,
because at startup a client will want to get everyone's avatar straight
away, so this will avoids bus round trips. Define that empty string
means no avatar, for people in the list who don't have one.

> GetAvatar ( u: contact, u: avatar_id ) -> s: avatar

I think this should be called RequestAvatar, because it makes it a
little clearer that it's going to go away to the network and download a
load of data. The type for byte array is ay, and as Rob says this should
definitely be the return type - base64 is Jabber specific and
un-necessary over the bus. Its also tempting to add a mime type return
value too (which can be empty if we don't actually know).

> Signals:
> AvatarUpdated ( u: contact, u: new_avatar_id )

Cool, but as above just make it an opaque string token, and empty for no
avatar.

> BR
> Andrunko

Regards,
Rob


More information about the Telepathy mailing list