
When the session dies or when the system is going to be shut down we issue a virStateStop() call to instruct drivers to prepare to be stopped. This will remove any previously acquire inhibitions.
+#ifdef HAVE_DBUS +# include <dbus/dbus.h>
Again, is this necessary,
+# include "virdbus.h"
or should we be hiding the interface into virdbus.h, which can be unconditionally included?
Correct, it is bogus
But that still raises the question of whether this file should be making raw dbus_* calls, or whether that should be factored into virdbus.h.
Again, looks slick; and my objection earlier in the series about qemu:///system vs. libvirt-guests init script may have been premature, seeing as how you are tying this inhibition handling only to sessions. Still, I'd be interested in your responses to my questions before granting ack.
I think at this point I have given ack to 1-8, and am waiting to see if you plan a v2 for patches 9 and 10 to push more raw dbus_* actions into virdbus.c.