[Telepathy] Mission Control Spec

Raphaël Slinckx raphael at slinckx.net
Thu Nov 2 07:29:39 PST 2006

Hi !

> > 
> > http://telepathy.freedesktop.org/wiki/Mission_Control
> > 
> > This opens the discussion about specific details rather than the 'big  
> > picture' as it incorporates most of the email exchange's remarks that  
> > were raised a couple of weeks ago.
>  From the wiki page:
>    GetAccounts() -> [(s:id, s:profile, s:name, s:account)]
>  Why the account name? Isn't the name the user gave the account enough? For
>  telepathy-salut (xep-0174 implementation), there even isn't such a thing as an
>  account.  I can imagine that an implementation of an SMS CM also wouldn't have
>  an account. (Looking at the tp-blue source, that apparently just uses the 
>  account parameter to create the bus name)

I think there is a confusion here.
id refers to an unique id for this account in the MC
name refers to the user-defined name for this account (which can be
non-unique) and account is some string further identifying this account
(ie. username on the network, or any other string)

For example:
GetAccount() -> [
("gabble_jabber0", "gtalk", "Work", "me at foo.com"),
("butterfly_msn0", "msn", "Private", "baz at hotmail.com"),
("salut_xep0", "bonjour", "Bonjour", ""),
("blue_sms0", "sms", "Nokia 660", "00:11:22:33:44")]

Maybe i should change the first parameter name to account_id and the
last one, to extra_description ?

> > 4. Requesting channels API:
> > 
> > RequestChannelWithAccount(s:chan_type, u:handle_type, s:name,  
> > s:account) -> void
> Same comment as above. You can't really assume a CM actually has an account.
> Otoh, you might say that using CM's without an account is more specialized and
> not the purpose of this API..
Here the "account" refers to the account_id (gabble_jabber0,
butterfly_msn0, blue_sms0, ...). Should I change that in the spec too ?

Each CM will have an account if it needs to be used by every desktop

> Another issue is that an account name doesn't have to be unique for a
> connection/protocol. Might even cause some weird issue if i've got the same
> account name on two protocols, but the name refers to different persons
> depending on the protocol.

This is true, but it is a bit of a corner case which I'm not sure if the
MC API should take into consideration. The worst thing that could happen
is that a dialog would preent a list of available accounts with no way
to differentiate between the two. For example:

|Choose which account to add the person to:
| [x] [Jabber (me at foo.com)]
| [ ] [Jabber (me at foo.com)]
| [ ] [MSN Messenger (me at hotmail.com)]

The second one being actually a different account with exactly the same
username but on a different server or whatever. I'm not sure if we need
to handle this, and if it's the case, how.

Thanks for your feedback !

More information about the Telepathy mailing list