upower: add in logind signals for suspend/resume
This commit is contained in:
parent
dd9626f7a4
commit
1c09b9c45d
|
|
@ -31,7 +31,7 @@ _suspend_callback = None
|
||||||
def _suspend():
|
def _suspend():
|
||||||
if _suspend_callback:
|
if _suspend_callback:
|
||||||
if _log.isEnabledFor(_INFO):
|
if _log.isEnabledFor(_INFO):
|
||||||
_log.info("received suspend event from UPower")
|
_log.info("received suspend event")
|
||||||
_suspend_callback()
|
_suspend_callback()
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -39,9 +39,11 @@ _resume_callback = None
|
||||||
def _resume():
|
def _resume():
|
||||||
if _resume_callback:
|
if _resume_callback:
|
||||||
if _log.isEnabledFor(_INFO):
|
if _log.isEnabledFor(_INFO):
|
||||||
_log.info("received resume event from UPower")
|
_log.info("received resume event")
|
||||||
_resume_callback()
|
_resume_callback()
|
||||||
|
|
||||||
|
def _suspend_or_resume(suspend):
|
||||||
|
_suspend() if suspend else _resume()
|
||||||
|
|
||||||
def watch(on_resume_callback=None, on_suspend_callback=None):
|
def watch(on_resume_callback=None, on_suspend_callback=None):
|
||||||
"""Register callback for suspend/resume events.
|
"""Register callback for suspend/resume events.
|
||||||
|
|
@ -56,6 +58,8 @@ try:
|
||||||
|
|
||||||
_UPOWER_BUS = 'org.freedesktop.UPower'
|
_UPOWER_BUS = 'org.freedesktop.UPower'
|
||||||
_UPOWER_INTERFACE = 'org.freedesktop.UPower'
|
_UPOWER_INTERFACE = 'org.freedesktop.UPower'
|
||||||
|
_LOGIND_BUS = 'org.freedesktop.login1.Manager'
|
||||||
|
_LOGIND_INTERFACE = 'org.freedesktop.login1'
|
||||||
|
|
||||||
# integration into the main GLib loop
|
# integration into the main GLib loop
|
||||||
from dbus.mainloop.glib import DBusGMainLoop
|
from dbus.mainloop.glib import DBusGMainLoop
|
||||||
|
|
@ -70,6 +74,9 @@ try:
|
||||||
bus.add_signal_receiver(_resume, signal_name='Resuming',
|
bus.add_signal_receiver(_resume, signal_name='Resuming',
|
||||||
dbus_interface=_UPOWER_INTERFACE, bus_name=_UPOWER_BUS)
|
dbus_interface=_UPOWER_INTERFACE, bus_name=_UPOWER_BUS)
|
||||||
|
|
||||||
|
bus.add_signal_receiver(_suspend_or_resume,'PrepareForSleep',
|
||||||
|
_LOGIND_BUS, _LOGIND_INTERFACE)
|
||||||
|
|
||||||
if _log.isEnabledFor(_INFO):
|
if _log.isEnabledFor(_INFO):
|
||||||
_log.info("connected to system dbus, watching for suspend/resume events")
|
_log.info("connected to system dbus, watching for suspend/resume events")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue