AddMatchWithID / RemoveMatchById

Curtis Maloney cmaloney at
Tue Feb 19 19:21:11 PST 2008

Ryan Lortie wrote:
> A simple example:
> Imagine the dconf library wants to receive all "notify" signals subject
> to some match rule like /apps/foo/.  It can call some function like
> g_bus_match ("[rule for /apps/foo/]", my_callback, user_data);
> Someone else (in the same application) wants to make legitimate use of
> dconf's public DBus API and registers a watch on /apps/bar/.
> g_bus_match ("[rule for /apps/bar/]", other_callback, user_data);
> As a client library implementation, I see an arriving signal from dconf
> for [some path].  Without rerunning the signal matching rules, what
> callback do I invoke?  If I receive a match ID then I can match that up
> with the ID that I generated for a particular invocation of
> g_bus_match() and would then know which callback to invoke.

I know in my usage, I want EVERYONE who's registered an interest in the signal 
to get notified.

Why would you only deliver it to one, when both have legitimately registered an 

Curtis Maloney
cmaloney at

More information about the dbus mailing list