[nanny] Close session with nanny-desktop-blocker on win32
- From: Roberto Majadas <telemaco src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nanny] Close session with nanny-desktop-blocker on win32
- Date: Sun, 23 Jan 2011 18:05:28 +0000 (UTC)
commit 4aea102e717ab7c6eeefb29088e12f1cda0d0c32
Author: Roberto Majadas <roberto majadas openshine com>
Date: Fri Oct 29 12:43:26 2010 +0200
Close session with nanny-desktop-blocker on win32
client/gnome/admin/src/DesktopBlocker.py | 5 +++++
daemon/src/Win32SessionFiltering.py | 16 ++++++----------
2 files changed, 11 insertions(+), 10 deletions(-)
---
diff --git a/client/gnome/admin/src/DesktopBlocker.py b/client/gnome/admin/src/DesktopBlocker.py
index d89a3e1..0c62a04 100644
--- a/client/gnome/admin/src/DesktopBlocker.py
+++ b/client/gnome/admin/src/DesktopBlocker.py
@@ -24,6 +24,9 @@ import os
import sys
if os.name == "posix":
import dbus
+elif os.name == "nt" :
+ from ctypes import *
+
import gtk
import gtk.gdk
@@ -97,6 +100,8 @@ class DesktopBlocker(gtk.Window):
return False
def __close_button_clicked_cb(self, widget, data):
+ if os.name == "nt" :
+ windll.user32.ExitWindowsEx(0)
sys.exit(0)
def __time_button_clicked_cb(self, widget, data):
diff --git a/daemon/src/Win32SessionFiltering.py b/daemon/src/Win32SessionFiltering.py
index 1a58cf4..54d0724 100644
--- a/daemon/src/Win32SessionFiltering.py
+++ b/daemon/src/Win32SessionFiltering.py
@@ -75,16 +75,7 @@ class Win32SessionBlocker(gobject.GObject) :
def blocker_terminate_from_thread(self, user_id, ret):
print "[W32SessionFiltering] self.blocker_terminate_from_thread %s %s" % (user_id, ret)
if ret == 0:
- self.block_status.pop(self.block_status.index(user_id))
- print "[W32SessionFiltering] unblocking user %s" % user_id
- try:
- session_uid = self.quarterback.win32top.get_current_user_session()
- print "s: %s == u: %s ->> %s" % (session_uid, user_id, int(session_uid) == int(user_id))
- if int(session_uid) == int(user_id) :
- print "[W32SessionFiltering] Quiting session"
- windll.user32.ExitWindowsEx(0)
- except:
- print "[W32SessionFiltering] Something wrong quiting from session"
+ gobject.timeout_add(5000, self.__remove_block_status, user_id)
else:
print "[W32SessionFiltering] User or other try to kill blocker :)"
gobject.timeout_add(5000, self.__launch_blocker_to_badboy, user_id)
@@ -100,6 +91,11 @@ class Win32SessionBlocker(gobject.GObject) :
except:
pass
+ def __remove_block_status(self, user_id):
+ print "[W32SessionFiltering] Remove block status to user_id : %s" % (user_id)
+ self.block_status.pop(self.block_status.index(user_id))
+ return False
+
def __launch_blocker_to_badboy(self, user_id):
session_uid = self.quarterback.win32top.get_current_user_session()
if int(session_uid) == int(user_id) :
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]