diff options
Diffstat (limited to 'src/jarabe/model/session.py')
-rw-r--r-- | src/jarabe/model/session.py | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/jarabe/model/session.py b/src/jarabe/model/session.py index 9e0f087..9b277ff 100644 --- a/src/jarabe/model/session.py +++ b/src/jarabe/model/session.py @@ -24,8 +24,10 @@ import logging from sugar import session from sugar import env + _session_manager = None + class SessionManager(session.SessionManager): MODE_LOGOUT = 0 MODE_SHUTDOWN = 1 @@ -53,15 +55,15 @@ class SessionManager(session.SessionManager): elif self._logout_mode != self.MODE_LOGOUT: try: bus = dbus.SystemBus() - proxy = bus.get_object('org.freedesktop.Hal', - '/org/freedesktop/Hal/devices/computer') + proxy = bus.get_object('org.freedesktop.ConsoleKit', + '/org/freedesktop/ConsoleKit/Manager') pm = dbus.Interface(proxy, - 'org.freedesktop.Hal.Device.SystemPowerManagement') + 'org.freedesktop.ConsoleKit.Manager') if self._logout_mode == self.MODE_SHUTDOWN: - pm.Shutdown() + pm.Stop() elif self._logout_mode == self.MODE_REBOOT: - pm.Reboot() + pm.Restart() except: logging.exception('Can not stop sugar') self.session.cancel_shutdown() @@ -73,14 +75,15 @@ class SessionManager(session.SessionManager): def _close_emulator(self): gtk.main_quit() - if os.environ.has_key('SUGAR_EMULATOR_PID'): + if 'SUGAR_EMULATOR_PID' in os.environ: pid = int(os.environ['SUGAR_EMULATOR_PID']) os.kill(pid, signal.SIGTERM) - # Need to call this ASAP so the atexit handlers get called before we get - # killed by the X (dis)connection + # Need to call this ASAP so the atexit handlers get called before we + # get killed by the X (dis)connection sys.exit() + def get_session_manager(): global _session_manager |