summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ck-manager.c1
-rwxr-xr-xsrc/test-open-session44
-rwxr-xr-xsrc/test-open-session-with-parameters (renamed from src/test-session)0
3 files changed, 45 insertions, 0 deletions
diff --git a/src/ck-manager.c b/src/ck-manager.c
index bba9b73..6d35347 100644
--- a/src/ck-manager.c
+++ b/src/ck-manager.c
@@ -483,6 +483,7 @@ create_session_for_caller (CkManager *manager,
/* If the parameters are not set then try to get them */
if (parameters == NULL) {
+ /* FIXME: try to make this complete */
ck_session_set_user (session, uid, NULL);
ck_session_set_session_type (session, cmd, NULL);
ck_session_set_display_device (session, tty, NULL);
diff --git a/src/test-open-session b/src/test-open-session
new file mode 100755
index 0000000..66a01dc
--- /dev/null
+++ b/src/test-open-session
@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+#
+# Test opening a new session
+#
+
+import os
+import gobject
+import dbus
+import dbus.glib
+
+bus = dbus.SystemBus ()
+
+manager_obj = bus.get_object ('org.freedesktop.ConsoleKit', '/org/freedesktop/ConsoleKit/Manager')
+
+manager = dbus.Interface (manager_obj, 'org.freedesktop.ConsoleKit.Manager')
+
+cookie = manager.OpenSession ()
+os.environ['XDG_SESSION_COOKIE'] = cookie
+print "Got cookie: %s" % cookie
+
+seats = manager.GetSeats ()
+for sid in seats:
+ seat_obj = bus.get_object ('org.freedesktop.ConsoleKit', sid)
+ seat = dbus.Interface (seat_obj, 'org.freedesktop.ConsoleKit.Seat')
+ sessions = seat.GetSessions ()
+ for ssid in sessions:
+ session_obj = bus.get_object ('org.freedesktop.ConsoleKit', ssid)
+ session = dbus.Interface (session_obj, 'org.freedesktop.ConsoleKit.Session')
+ uid = session.GetUser ()
+
+# Hmm looks like the proc environment doesn't get updated when
+# os.environ is set. So, we won't use GetCurrentSession.
+#current_session = manager.GetCurrentSession ()
+current_session = manager.GetSessionForCookie (cookie)
+print "Current session: %s" % current_session
+
+session_obj = bus.get_object ('org.freedesktop.ConsoleKit', ssid)
+session = dbus.Interface (session_obj, 'org.freedesktop.ConsoleKit.Session')
+
+mainloop = gobject.MainLoop ()
+
+gobject.timeout_add (30000, mainloop.quit)
+
+mainloop.run()
diff --git a/src/test-session b/src/test-open-session-with-parameters
index 72f1ade..72f1ade 100755
--- a/src/test-session
+++ b/src/test-open-session-with-parameters