Menu

dbus-cxx 0.4.0 released

This release introduces the dbus-cxx-glibmm library to provide a means of integrating dbus-cxx with glibmm. The key class is DBus::Glib::Dispatcher which performs exactly like DBus::Dispatcher except all actual dispatching occurs in the Glibmm main loop.

Since Gtkmm uses Glibmm for it's main loop this also provides a mechanism for integrating dbus-cxx into Gtkmm.

To enable glibmm support pass --enable-glibmm to configure.

There are also a few new changes to DBus::Dispatcher. The constructor now accepts a boolean parameter is_running (defaults to true) that will automatically start the dispatcher when constructed. Also, the dispatcher will call stop() on destruction to effect an orderly shutdown.

DBus::Dispatcher has had a few bugs fixed and a few missing pieces filled in.

The watch thread finally has support for the case where there are no watches. Instead, the watch thread will use sleep for the same timeout period as select() was using and upon reawakening will check for new watches.

A missing mutex was also added to DBus::Dispatcher::create_connection(), and a hack was removed from the dispatch thread that called flush() on each connection (the auto-start on the Dispatchers revealed the source of the problem and the need for the hack).

Finally, the standard pointer typedef and static create() methods were added to the dispatcher classes to standardize across all dbus-cxx classes.

Posted by Rick L. Vinyard, Jr. 2009-06-18

Log in to post a comment.