From: Schmottlach, G. <gle...@ha...> - 2009-03-31 22:10:21
|
Hi All - I'd like to announce the general availability of (yet another) fork of the D-Bus C++ binding that supports the implementation (and generation) of asynchronous clients and services. This majority of the implementation was developed by Paolo Durante (the original maintainer) to extend the previous synchronous-only services to support the asynchronous features of D-Bus. Along the way I fixed some bugs, ported the code generator to Windows, and generally attempted to "harden" the implementation. David Kozub was kind of enough to offer to post the code here and made sure it runs under Linux (the extensions were originally developed under QNX): git://zub.lamer.la/dbus-c++-async.git Please note, I cannot offer much in the way of documentation at this point with regard to the port. There are a couple of new annotations in the XML services file that enables the async features in the code generator. Please see the code for more details. Also, the binding, in general, is a little shakey with regards to threading. This isn't so much the fault of the binding but underlying issues in the D-Bus library itself. These issues become more pronounced when using the asynchronous features of the binding. In general, I recommend accessing the binding (and thus the D-Bus library) from only a single thread. Your mileage may vary. Unfortunately this branch has some significant differences from Andreas's gitorious fork (sorry about that). As a result, I suspect it won't be easy to integrate the changes into a single baseline. Is anybody willing to take a stab it it? If you're interested in truly asynchronous clients and services then this may be an option to consider. I'll try to answer any questions as time permits. Again, credit must be given to Paolo D. for the initial cut at async support and David K. for doing the necessary legwork to post it on publicly accessible GIT repository. I hope someone finds the code useful. Glenn |