[Telepathy] paths for .manager files and other telepathy data?

Robert McQueen robert.mcqueen at collabora.co.uk
Wed Sep 20 16:30:32 PDT 2006


Dafydd Harries wrote:
> It was discussed that the ObjectPath and BusName fields could also be omitted,
> given that they can be inferred knowing only the name of the connection
> manager, but the discussion didn't get very far. It would mean that the
> ConnectionManager stanza wouldn't have any fields defined as it stands, and
> would therefore be somewhat useless.

The specification says that *all* connection managers must live under
org.freedesktop.Telepathy.ConnectionManager.foo, with a similar object
path. This is so that you can use ListNames or ListActivatableServices
to immediately know all of the running/available connection managers,
and interrogate them for information. This does indeed, render the
BusName/ObjectPath useless.

The alternative is that a) it's somehow wrong to force 3rd party
connection managers to live in our namespace, and b) that people should
discover managers only by using .manager files. I think this sucks,
because a) we already have to give some of our namespace away in order
that you can do ListNames and discover existing connections and b) the
manager files are merely a cache and shouldn't be made mandatory. I
think that run-time discoverability is potentially useful for connection
managers too, otherwise we may as well discard all of the
ConnectionManager interface other than the RequestConnection method and
NewConnection signal.

There is a downside to all of this, which is that we end up squashing
all connection managers into a small namespace of just a single word.
It's my hope that this won't be a problem and that we won't end up with
a proliferation of connection managers, but instead a reasonable number
which are widely-recognised as the canonical implementations of their
respective protocols. However, it could always go horribly wrong, and we
could end up with dozens of connection managers (like G/K/Q/X/# versions
of each protocol... *shudder*), and there will always be people who name
their managers unimaginative things like 'msn'[1] and make the namespace
crowded/confusing. :)

If we want to change how connection managers are discovered, now is the
time to decide. Run-time discoverability vs allow connection managers to
live in arbitrary D-Bus namespaces? I think run-time discoverability is
more important, so we can discard the BusName and ObjectPath fields from
.manager files. Comments? :)

Regards,
Rob

[1]: YOU KNOW WHO YOU ARE... :P

-- 
Robert McQueen
Director, Collabora Ltd.


More information about the Telepathy mailing list