On Tue, 2012-08-21 at 13:31 +0200, Mikel Astiz wrote: > > On Tue, 2012-08-21 at 09:26 +0200, Mikel Astiz wrote: > > > > if the Transfer's Filename matches the temporary file. > > > > > > I'd rather check the object path instead of the filename (of course you > > need to start the transfer first). > > > > And that's where you run into the race condition that I described in my mail > > to the Bluez list: by the time that the SignalWatch is set up, the client > > might > > already have missed the signals that it wants to receive. > > I still don't get the problem. I was proposing to install the watch > with the session prefix, not the full transfer path.
That wasn't clear from the statement above. The prefix match would work as you suggested. But then there still is the problem of actually *using* the prefix match: as I said on the Bluez list, common D-Bus binding (Python, GIO D-Bus) do not support matching by prefix (or at least not easily - GIO apparently allows manually setting up match rules). In SyncEvolution, the src/gdbusxx C++ binding uses GIO D-Bus and currently only supports a full object path match. It always passes a path to g_dbus_connection_signal_subscribe(), even if it is empty. To allow what I suggested earlier (match any path), that probably needs to be changed so that an empty std::string is translated into NULL for g_dbus_connection_signal_subscribe(). -- Best Regards, Patrick Ohly The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter. _______________________________________________ SyncEvolution mailing list SyncEvolution@syncevolution.org http://lists.syncevolution.org/listinfo/syncevolution