Being interested in NameOwnerChanged for a namespace, not one name

Alban Crequy alban.crequy at collabora.co.uk
Wed Sep 15 04:20:46 PDT 2010


Le Wed, 15 Sep 2010 12:09:40 +0100,
Will Thompson <will.thompson at collabora.co.uk> a écrit :

> Hi,
> 
> Mission Control, a Telepathy component, watches for new Telepathy 
> Connection Managers appearing by binding to NameOwnerChanged and
> looking for names starting with
> "org.freedesktop.Telepathy.ConnectionManager.".
> 
> So obviously this is a bad idea. ryan lortie rightly called me out
> for this at GuadeKademy last summer, and I started implementing
> support for argXprefix in match rules: 
> <http://git.collabora.co.uk/?p=user/wjt/dbus.git;a=commitdiff;h=refs/heads/argx-prefix-matching>. 
> I haven't worked on it since then, but have just been reminded of it.
> 
> Any opinions on whether:
> 
> • this is a good general approach to solving this problem;
> • this is a good specific approach to solving this problem;
> • support for this should be negotiated at connection time, or
> inferred by the error reply from AddMatch, or included in a list of
> features pushed to the client by the bus just after connection (as
> suggested by Alban on IRC), or...?

Not necessarily just after connection but whenever the client wants the
information, with a D-Bus property "Features" on the bus driver object:
org.freedesktop.DBus.Properties.Get("org.freedesktop.DBus", "Features")
-> as
It could return ['argXprefix'] for your feature.

So it would not require any changes in libdbus, and high-level bindings
can easily implement the capability check whenever they want it.

-- 
Alban


More information about the dbus mailing list