dbus-glib and watching for signals on unknown path

Mike puffy.taco at gmail.com
Mon Nov 30 13:47:07 PST 2009


I am using dbus-glib as my binding.  I am trying to watch for signals
from a service, but the path is not fixed (variable numerical digits
at the end of the path).  "dbus_g_proxy_new_for_name" requires that I
give it a path name and forces the path name onto the match string.  I
would rather not pass a path name as part of the match string, so I
could grab signals from all objects meeting the sender and interface
criteria.  Yes, I can query for all path names and individually add
the path names, but this seems completely unnecessary when I should be
able to ask to match all.

The low level dbus API is capable of this, as I can pass whatever I
want to dbus_bus_add_match, but the problem is then that dbus-glib
does not pick this up and throws away the signals, so I can't use an
ugly backdoor to get what I want.

I have tested my criteria string using dbus-monitor, and it works
great... just now how to get dbus-glib to work with it?

Sample string: "type='signal',sender='org.example',interface='org.example.Manager'"

Thanks,
Mike


More information about the dbus mailing list