summaryrefslogtreecommitdiff
path: root/daemon/gdm-display.h
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2012-05-18 21:04:21 +0200
committerRay Strode <rstrode@redhat.com>2012-07-17 04:14:55 -0400
commite0a3c565625e7ef6cfa6082e25699b8bc1fbe39f (patch)
treeacf7455270c7b0b435269bb13177713f0d9c2613 /daemon/gdm-display.h
parent5d319617aa66e285d0f7f248d4bd589500af6ba9 (diff)
downloadgdm-e0a3c565625e7ef6cfa6082e25699b8bc1fbe39f.tar.gz
daemon: Add an interface for communicating with GDM via D-Bus
One goal for GNOME 3.6, is to replace the screen locking functionality provided by gnome-screensaver with redesigned functionality provided by gnome-shell. At the same time, it makes sense to consolidate the yucky PAM authentication code to one place (GDM). Right now only greeters can talk to GDM. At the time the greeter is started, the slave sets up a private communication channel which the greeter then connects to for initiating communication. This commit adds a new method to the org.gnome.DisplayManager.Manager interface that allows opening a private connection to the slave that is associated with the currently running session. That slave exports the session object over the bus that greeters can interact with the session as appropriate. This interface replaces the GDM_GREETER_DBUS_ADDRESS environment variable that used to to be used for connecting the greeter to the slave. This commit also drops gdm-greeter-server and gdm-chooser-server which don't fit the new model, and are really just thin middle men that don't do anything important. Furthermore, this commit splits GdmSession interfaces 3 orthogonal parts up into 3 separate interfaces on the session object. A future commit will make this interface work for screensavers/reauthentication. Based on work by Giovanni Campagna <gcampagna@src.gnome.org> https://bugzilla.gnome.org/show_bug.cgi?id=676381
Diffstat (limited to 'daemon/gdm-display.h')
-rw-r--r--daemon/gdm-display.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/daemon/gdm-display.h b/daemon/gdm-display.h
index 6cbcca26..1f4d3dbe 100644
--- a/daemon/gdm-display.h
+++ b/daemon/gdm-display.h
@@ -79,7 +79,8 @@ typedef struct
typedef enum
{
GDM_DISPLAY_ERROR_GENERAL,
- GDM_DISPLAY_ERROR_GETTING_USER_INFO
+ GDM_DISPLAY_ERROR_GETTING_USER_INFO,
+ GDM_DISPLAY_ERROR_GETTING_SESSION_INFO,
} GdmDisplayError;
#define GDM_DISPLAY_ERROR gdm_display_error_quark ()
@@ -89,8 +90,10 @@ GType gdm_display_get_type (void);
int gdm_display_get_status (GdmDisplay *display);
time_t gdm_display_get_creation_time (GdmDisplay *display);
-char * gdm_display_get_user_auth (GdmDisplay *display);
-
+char * gdm_display_open_session_sync (GdmDisplay *display,
+ GCancellable *cancellable,
+ GError **error);
+char * gdm_display_get_session_id (GdmDisplay *display);
gboolean gdm_display_create_authority (GdmDisplay *display);
gboolean gdm_display_prepare (GdmDisplay *display);
gboolean gdm_display_manage (GdmDisplay *display);