summaryrefslogtreecommitdiff
path: root/daemon/gdm-session.xml
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-session.xml
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-session.xml')
-rw-r--r--daemon/gdm-session.xml113
1 files changed, 97 insertions, 16 deletions
diff --git a/daemon/gdm-session.xml b/daemon/gdm-session.xml
index c320c097..292d4165 100644
--- a/daemon/gdm-session.xml
+++ b/daemon/gdm-session.xml
@@ -2,15 +2,7 @@
<node name="/org/gnome/DisplayManager/Session">
<!-- methods are called by the session worker,
signals are emitted by the simple slave -->
- <interface name="org.gnome.DisplayManager.Session">
- <method name="ConversationStarted">
- <arg name="service_name" direction="in" type="s"/>
- </method>
- <signal name="StartConversation">
- <arg name="service_name" type="s"/>
- </signal>
- <signal name="Close"/>
- <signal name="Cancelled"/>
+ <interface name="org.gnome.DisplayManager.WorkerManager">
<method name="Hello" />
<method name="CancelPendingQuery">
<arg name="service_name" type="s" direction="in"/>
@@ -25,9 +17,6 @@
<method name="SavedSessionNameRead">
<arg name="session_name" type="s" direction="in"/>
</method>
- <signal name="StartProgram">
- <arg name="command" type="s"/>
- </signal>
<method name="ServiceUnavailable">
<arg name="service_name" direction="in" type="s"/>
<arg name="message" direction="in" type="s"/>
@@ -62,24 +51,25 @@
</method>
<method name="InfoQuery">
<arg name="service_name" direction="in" type="s"/>
- <arg name="text" direction="in" type="s"/>
+ <arg name="query" direction="in" type="s"/>
<arg name="answer" direction="out" type="s"/>
</method>
<method name="SecretInfoQuery">
<arg name="service_name" direction="in" type="s"/>
- <arg name="text" direction="in" type="s"/>
+ <arg name="query" direction="in" type="s"/>
<arg name="answer" direction="out" type="s"/>
</method>
<method name="Info">
<arg name="service_name" direction="in" type="s"/>
- <arg name="text" direction="in" type="s"/>
+ <arg name="info" direction="in" type="s"/>
</method>
<method name="Problem">
<arg name="service_name" direction="in" type="s"/>
- <arg name="text" direction="in" type="s"/>
+ <arg name="problem" direction="in" type="s"/>
</method>
<method name="Opened">
<arg name="service_name" direction="in" type="s"/>
+ <arg name="session_id" direction="in" type="s"/>
</method>
<method name="OpenFailed">
<arg name="service_name" direction="in" type="s"/>
@@ -100,6 +90,14 @@
<arg name="status" direction="in" type="i"/>
</method>
+ <signal name="StartConversation">
+ <arg name="service_name" type="s"/>
+ </signal>
+ <signal name="StartProgram">
+ <arg name="command" type="s"/>
+ </signal>
+ <signal name="Close"/>
+ <signal name="Cancelled"/>
<signal name="Reset" />
<signal name="Setup">
<arg name="service_name" type="s"/>
@@ -156,4 +154,87 @@
<arg name="session_type" type="s" />
</signal>
</interface>
+ <interface name="org.gnome.DisplayManager.UserVerifier">
+ <method name="BeginVerification">
+ <arg name="service_name" direction="in" type="s"/>
+ </method>
+ <method name="BeginVerificationForUser">
+ <arg name="service_name" direction="in" type="s"/>
+ <arg name="username" direction="in" type="s"/>
+ </method>
+ <method name="AnswerQuery">
+ <arg name="service_name" direction="in" type="s"/>
+ <arg name="answer" direction="in" type="s"/>
+ </method>
+ <method name="Cancel">
+ </method>
+ <signal name="Info">
+ <arg name="service_name" type="s"/>
+ <arg name="info" type="s"/>
+ </signal>
+ <signal name="Problem">
+ <arg name="service_name" type="s"/>
+ <arg name="problem" type="s"/>
+ </signal>
+ <signal name="InfoQuery">
+ <arg name="service_name" type="s"/>
+ <arg name="query" type="s"/>
+ </signal>
+ <signal name="SecretInfoQuery">
+ <arg name="service_name" type="s"/>
+ <arg name="query" type="s"/>
+ </signal>
+ <signal name="Reset">
+ </signal>
+ <signal name="ServiceUnavailable">
+ <arg name="service_name" type="s"/>
+ <arg name="message" type="s"/>
+ </signal>
+ <signal name="VerificationComplete">
+ <arg name="service_name" type="s"/>
+ </signal>
+ </interface>
+ <interface name="org.gnome.DisplayManager.Greeter">
+ <method name="SelectSession">
+ <arg name="session" direction="in" type="s"/>
+ </method>
+ <method name="SelectLanguage">
+ <arg name="language" direction="in" type="s"/>
+ </method>
+ <method name="SelectUser">
+ <arg name="username" direction="in" type="s"/>
+ </method>
+ <method name="BeginAutoLogin">
+ <arg name="username" direction="in" type="s"/>
+ </method>
+ <method name="StartSessionWhenReady">
+ <arg name="service_name" direction="in" type="s"/>
+ <arg name="should_start_session" direction="in" type="b"/>
+ </method>
+ <signal name="SelectedUserChanged">
+ <arg name="username" type="s"/>
+ </signal>
+ <signal name="DefaultLanguageNameChanged">
+ <arg name="language_name" type="s"/>
+ </signal>
+ <signal name="DefaultSessionNameChanged">
+ <arg name="session_name" type="s"/>
+ </signal>
+ <signal name="TimedLoginRequested">
+ <arg name="username" type="s"/>
+ <arg name="delay" type="i"/>
+ </signal>
+ <signal name="SessionOpened">
+ <arg name="service_name" type="s"/>
+ </signal>
+ </interface>
+ <interface name="org.gnome.DisplayManager.RemoteGreeter">
+ <method name="Disconnect" />
+ </interface>
+ <interface name="org.gnome.DisplayManager.Chooser">
+ <method name="SelectHostname">
+ <arg name="hostname" direction="in" type="s"/>
+ </method>
+ <method name="Disconnect" />
+ </interface>
</node>