UPower 1.0 API changes
Bastien Nocera
hadess at hadess.net
Thu Oct 17 06:44:45 PDT 2013
Heya,
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.
libupower-glib
--------------
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_hibernate_sync()
up_client_get_can_hibernate()
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
work.
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.
Cheers
[1]: Somewhere on http://www.hadess.net soon
More information about the devkit-devel
mailing list