From: Schmottlach, G. <gle...@ha...> - 2008-12-04 21:17:51
|
> > > > 5) Is there a way to make asynchronous calls from the client-side > > (it appears the code generator only produces synchronous proxies). > > > 'not there yet' > I've some support for async calls in the gitorious repo: > http://gitorious.org/projects/dbus-cplusplus > See here: > http://dbus-cplusplus.wiki.sourceforge.net/Introspection+Format > It's 'org.freedesktop.DBus.Method.NoReply'. > Look in the history of this list for an example how to use it. But > currently you've to define the up and down call yourself. This isn't what I quite had in mind for asynchronous client support. Ideally, the service should be able supply return (out) parameters. I don't want to block waiting for the results but instead have some sort of callback invoked at a later time (e.g. like handling a signal). The tricky part is probably registering the callback with the correct signature for the response. Perhaps there would need to be some kind of template trickery or use the facilities provided by libsigc++. Regardless, your approach seems to only provide a "one-way" function call. I truly want the results . . . I just don't want to block waiting for them nor do I want to implement a service on the client-side that exports a one-way "callback" method on which the service can return the response. Is this possible? It appears that it's supported in the Glib binding. |