UPower 1.0 API changes

Bastien Nocera hadess at hadess.net
Thu Oct 17 06:44:45 PDT 2013


I'll be blogging shortly[1] about the UPower changes that I've made on
master. Consider this a simple porting guide for your applications.


Added functions:
- up_client_get_display_device(), gets you a UpDevice that represents
the combination of all batteries and UPSes
- up_client_get_critical_action() which tells you whether the system
  will switch off or hibernate on critically power.

Removed functions:
- up_client_get_properties_sync()
- up_client_enumerate_devices_sync()
- up_client_get_on_low_battery() (use the "warning-level" property on
the DisplayDevice object instead)
- up_client_suspend_sync()
  up_client_get_can_suspend(), all obsoleted by logind
- All of the QoS API

Removed signals:
- notify_sleep and notify_resume
- changed (both UpClient and UpDevice), device-changed (connect to the
"notify" signal for the properties that interest you instead)

Changed signal:
- device-removed now sends an object path, not a device (as we do not
keep an internal list of devices on the client side, to reduce wake-ups)

D-Bus service

The D-Bus service changes pretty much match the libupower-glib API
changes. I invite you to read the included API documentation.

Support for non-Linux OSes

The new policy decision for low batteries is not implemented on the
non-Linux systems that have backends in UPower, namely FreeBSD and
OpenBSD. As legacy code in UPower used to do this for those systems, it
should be fairly straight forward to copy/paste from UPower 0.9 to bring
back hibernation in those systems. PowerOff might be a little bit more

GNOME changes

Currently working on gnome-settings-daemon changes:
- https://bugzilla.gnome.org/show_bug.cgi?id=709736
and gnome-shell:
- https://bugzilla.gnome.org/show_bug.cgi?id=710273

gnome-control-center is not done yet:
- https://bugzilla.gnome.org/show_bug.cgi?id=710393

TODO items

Which should not require 
- Reduce wake-ups more, by coalescing battery polling together, and
increasing timeouts when battery power is high.
- Updating the test suite
- And obviously, fixing any bugs that we might encounter

Send in any questions you might have to this list, and I'll do my best
to answer questions and update the documentation to match.


[1]: Somewhere on http://www.hadess.net soon

More information about the devkit-devel mailing list