Plans for UPower 1.0

Richard Hughes hughsient at
Thu Jan 3 02:02:07 PST 2013

I'm intending to branch 1.0 later this week. Plans I have for 1.0 are:

* Removing the Sleeping/NotifySleep/Resuming/NotifyResume signals
* Removing AboutToSleep(), Suspend(), SuspendAllowed(), Hibernate(),
HibernateAllowed() methods

This is because I believe that this low-level stuff should be lower in
the stack, much like implemented by logind. The latter has a nice
inhibit system and is already being widely used in GNOME. Having two
things "actioning" the actual suspend means that clients don't know
what signals are expected, and don't know what method to call. This
results in bugs about "missing" resume signals and the like. This
leaves upower to be an "information daemon" which was what it was
originally conceived as.

I am also considering moving the code to a GDBusObject-model, and
autogenerating libupower. That might be 1.2 material, as I don't have
a lot of spare cycles at the moment. That would be a bigger API break

I know this might upset the FreeBSD/Solaris/Ubuntu people, but I think
it's important to clean up the platform we have right now in Linux. I
think implementing the logind API in something like ConsoleKit is
probably what someone other than me needs to do, or just ship UPower
0.9.x which will be maintained for a few more years as I'm supporting
it for Red Hat Enterprise Linux.


More information about the devkit-devel mailing list