]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Change greeter library API, starting a session no longer has a language option
authorRobert Ancell <robert.ancell@canonical.com>
Wed, 29 Jun 2011 16:21:59 +0000 (17:21 +0100)
committerRobert Ancell <robert.ancell@canonical.com>
Wed, 29 Jun 2011 16:21:59 +0000 (17:21 +0100)
14 files changed:
NEWS
doc/tmpl/greeter.sgml
greeters/gtk/lightdm-example-gtk-greeter.c
greeters/vala-gtk/lightdm-example-vala-gtk-greeter.vala
liblightdm-gobject/greeter.c
liblightdm-gobject/liblightdm-gobject-0.vapi
liblightdm-gobject/lightdm/greeter.h
liblightdm-qt/QLightDM/greeter.cpp
liblightdm-qt/QLightDM/greeter.h
src/display.c
src/greeter.c
src/greeter.h
src/ldm-marshal.list
tests/src/test-gobject-greeter.c

diff --git a/NEWS b/NEWS
index 8f21fca97d4e82dee62f10cca85291c5221cac83..5da709cce31c2d744e7cfd29b4b7bd2c33a3b780 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,8 @@ Overview of changes in lightdm 0.4.1
     * Restart X server if it crashes during a session
     * Don't set language environment variables, use the daemon values
       (system default) and leave it to ~/.profile for users to set these
+    * Change greeter library API, starting a session no longer has a language
+      option
 
 Overview of changes in lightdm 0.4.0
 
index 1f3bb75a5b97c12506e6db578881a2249154b67a..297a3b7bafc0934389c7fed44d687c35387ba325 100644 (file)
@@ -482,15 +482,6 @@ g_object_connect (G_OBJECT (greeter), "quit", G_CALLBACK (quit_cb), NULL);
 
 @greeter: 
 @session: 
-@language: 
-
-
-<!-- ##### FUNCTION ldm_greeter_start_session_with_defaults ##### -->
-<para>
-
-</para>
-
-@greeter: 
 
 
 <!-- ##### FUNCTION ldm_greeter_get_can_suspend ##### -->
index 1df3e99ab023d1ea9853ccc0e2d505e500479625..da6a0070d3de611da52445d885841e8cafd87983 100644 (file)
@@ -186,7 +186,7 @@ authentication_complete_cb (LdmGreeter *greeter)
     if (ldm_greeter_get_is_authenticated (greeter))
     {
         gchar *session = get_session ();
-        ldm_greeter_start_session (greeter, session, NULL);
+        ldm_greeter_start_session (greeter, session);
         g_free (session);
     }
     else
index cc6fcce1f3d75f29f4243057f058c1c02fbdc10a..f3794831c9434073699ca6f442823eb56423f750 100644 (file)
@@ -97,7 +97,7 @@ class Greeter
         username_entry.sensitive = true;
         username_entry.grab_focus ();
         if (greeter.is_authenticated)
-            greeter.start_session_with_defaults ();
+            greeter.start_default_session ();
         else
         {
             message_label.label = "Failed to authenticate";
index d8522bd3df77d3f8a01ebed7039c2f251cc4d443..f4137fc3b942bef9014439d75f43d535c17bad42 100644 (file)
@@ -1403,12 +1403,11 @@ ldm_greeter_get_authentication_user (LdmGreeter *greeter)
  * ldm_greeter_start_session:
  * @greeter: A #LdmGreeter
  * @session: (allow-none): The session to log into or NULL to use the default
- * @language: (allow-none): The language to use or NULL to use the default
  *
  * Start a session for the logged in user.
  **/
 void
-ldm_greeter_start_session (LdmGreeter *greeter, const gchar *session, const gchar *language)
+ldm_greeter_start_session (LdmGreeter *greeter, const gchar *session)
 {
     guint8 message[MAX_MESSAGE_LENGTH];
     gsize offset = 0;
@@ -1417,13 +1416,10 @@ ldm_greeter_start_session (LdmGreeter *greeter, const gchar *session, const gcha
   
     if (!session)
         session = "";
-    if (!language)
-        language = "";
 
-    g_debug ("Starting session %s with language %s", session, language);
-    write_header (message, MAX_MESSAGE_LENGTH, GREETER_MESSAGE_START_SESSION, string_length (session) + string_length (language), &offset);
+    g_debug ("Starting session %s", session);
+    write_header (message, MAX_MESSAGE_LENGTH, GREETER_MESSAGE_START_SESSION, string_length (session), &offset);
     write_string (message, MAX_MESSAGE_LENGTH, session, &offset);
-    write_string (message, MAX_MESSAGE_LENGTH, language, &offset);
     write_message (greeter, message, offset);
 }
 
@@ -1434,9 +1430,9 @@ ldm_greeter_start_session (LdmGreeter *greeter, const gchar *session, const gcha
  * Login a user to a session using default settings for that user.
  **/
 void
-ldm_greeter_start_session_with_defaults (LdmGreeter *greeter)
+ldm_greeter_start_default_session (LdmGreeter *greeter)
 {
-    ldm_greeter_start_session (greeter, NULL, NULL);
+    ldm_greeter_start_session (greeter, NULL);
 }
 
 static gboolean
index 6aa5d4dbae0c74147a2d9b1b3f0aff5b65493748..aa20f65af00ee7c61824219cec7150119c7630f0 100644 (file)
@@ -31,8 +31,8 @@ namespace LightDM {
                public bool get_user_defaults (string username, out string language, out string layout, out string session);
                public unowned GLib.List<weak LightDM.User> get_users ();
                public void hibernate ();
-               public void start_session (string? session, string? language);
-               public void start_session_with_defaults ();
+               public void start_session (string? session);
+               public void start_default_session ();
                public void provide_secret (string secret);
                public void restart ();
                public void set_layout (string layout);
index 1eced7d2a149e23b7cdc96b0b462a1e1d6fa8d3d..52a8f3f64bf5946a40467720f2c7ecbaf9ca659a 100644 (file)
@@ -115,9 +115,9 @@ gboolean ldm_greeter_get_is_authenticated (LdmGreeter *greeter);
 
 const gchar *ldm_greeter_get_authentication_user (LdmGreeter *greeter);
 
-void ldm_greeter_start_session (LdmGreeter *greeter, const gchar *session, const gchar *language);
+void ldm_greeter_start_session (LdmGreeter *greeter, const gchar *session);
 
-void ldm_greeter_start_session_with_defaults (LdmGreeter *greeter);
+void ldm_greeter_start_default_session (LdmGreeter *greeter);
 
 gboolean ldm_greeter_get_can_suspend (LdmGreeter *greeter);
 
index b7cff1688923ed02d58d9f60af0ae799c64cbdc8..738762a015029afcae5028ba8fd4c95949a956f5 100644 (file)
@@ -266,12 +266,11 @@ QString Greeter::authenticationUser() const
     return d->authenticationUser;
 }
 
-void Greeter::startSession(const QString &session, const QString &language)
+void Greeter::startSession(const QString &session)
 {
-    qDebug() << "Starting session " << session << " with language " << language;
-    writeHeader(GREETER_MESSAGE_START_SESSION, stringLength(session) + stringLength(language));
+    qDebug() << "Starting session " << session;
+    writeHeader(GREETER_MESSAGE_START_SESSION, stringLength(session));
     writeString(session);
-    writeString(language);
     flush();
 }
 
index 6d507ba5b96a53d52b2f05ddb92e906dcb6416c0..76877c4a3ea938199097eccdeb46640614e12c83 100644 (file)
@@ -70,7 +70,7 @@ namespace QLightDM
        void loginAsGuest();
        void provideSecret(const QString &secret);
        void cancelAuthentication();
-       void startSession(const QString &session=QString(), const QString &language=QString());
+       void startSession(const QString &session=QString());
 
        bool canSuspend() const;
        bool canHibernate() const;
index 2b03b636361c192be65afbfc5c2eab36a403be00..70bc0144041e474244fc6b85df2b65b89fc0e50d 100644 (file)
@@ -523,9 +523,9 @@ really_start_user_session (Display *display)
 }
 
 static gboolean
-start_user_session (Display *display, const gchar *session, const gchar *language)
+start_user_session (Display *display, const gchar *session)
 {
-    gchar *filename, *path, *old_language, *xsessions_dir;
+    gchar *filename, *path, *xsessions_dir;
     gchar *session_command;
     User *user;
     gboolean supports_transitions;
@@ -543,15 +543,6 @@ start_user_session (Display *display, const gchar *session, const gchar *languag
 
     /* Update the .dmrc with changed settings */
     g_key_file_set_string (dmrc_file, "Desktop", "Session", session);
-    old_language = g_key_file_get_string (dmrc_file, "Desktop", "Language", NULL);
-    if (language && (!old_language || !g_str_equal(language, old_language)))
-    {
-        g_key_file_set_string (dmrc_file, "Desktop", "Language", language);
-        /* We don't have advanced language checking, so reset these variables */
-        g_key_file_remove_key (dmrc_file, "Desktop", "Langlist", NULL);
-        g_key_file_remove_key (dmrc_file, "Desktop", "LCMess", NULL);
-    }
-    g_free (old_language);
 
     xsessions_dir = config_get_string (config_get_instance (), "LightDM", "xsessions-directory");
     filename = g_strdup_printf ("%s.desktop", session);
@@ -637,7 +628,7 @@ default_session_authentication_result_cb (PAMSession *session, int result, Displ
     {
         g_debug ("User %s authorized", pam_session_get_username (session));
         pam_session_authorize (session);
-        start_user_session (display, display->priv->default_session, NULL);
+        start_user_session (display, display->priv->default_session);
     }
     else
     {
@@ -674,16 +665,12 @@ session_timeout_cb (Display *display)
 }
 
 static void
-greeter_start_session_cb (Greeter *greeter, const gchar *session, const gchar *language, Display *display)
+greeter_start_session_cb (Greeter *greeter, const gchar *session, Display *display)
 {
     /* Default session requested */
     if (strcmp (session, "") == 0)
         session = display->priv->default_session;
 
-    /* Default language requested */
-    if (strcmp (language, "") == 0)
-        language = NULL;
-  
     display->priv->user_pam_session = greeter_get_pam_session (greeter);
 
     if (!display->priv->user_pam_session ||
@@ -693,7 +680,7 @@ greeter_start_session_cb (Greeter *greeter, const gchar *session, const gchar *l
         return;
     }
 
-    start_user_session (display, session, language);
+    start_user_session (display, session);
 
     /* Stop session, waiting for user session to indicate it is ready (if supported) */
     // FIXME: Hard-coded timeout
index 6ad0f02490a5d03ac677fdac2e6e087778a3247f..740eeebc38c60d407db14fab2070aea9be85c283 100644 (file)
@@ -413,7 +413,7 @@ greeter_quit (Greeter *greeter)
 }
 
 static void
-handle_start_session (Greeter *greeter, gchar *session, gchar *language)
+handle_start_session (Greeter *greeter, gchar *session)
 {
     /*if (greeter->priv->user_session != NULL)
     {
@@ -421,9 +421,9 @@ handle_start_session (Greeter *greeter, gchar *session, gchar *language)
         return;
     }*/
 
-    g_debug ("Greeter start session %s with language %s", session, language);
+    g_debug ("Greeter start session %s", session);
 
-    g_signal_emit (greeter, signals[START_SESSION], 0, session, language);
+    g_signal_emit (greeter, signals[START_SESSION], 0, session);
 }
 
 static void
@@ -503,7 +503,7 @@ got_data_cb (Greeter *greeter)
     gsize n_to_read, n_read, offset;
     GIOStatus status;
     int id, n_secrets, i;
-    gchar *username, *session_name, *language;
+    gchar *username, *session_name;
     gchar **secrets;
     GError *error = NULL;
   
@@ -576,10 +576,8 @@ got_data_cb (Greeter *greeter)
         break;
     case GREETER_MESSAGE_START_SESSION:
         session_name = read_string (greeter, &offset);
-        language = read_string (greeter, &offset);
-        handle_start_session (greeter, session_name, language);
+        handle_start_session (greeter, session_name);
         g_free (session_name);
-        g_free (language);
         break;
     case GREETER_MESSAGE_GET_USER_DEFAULTS:
         username = read_string (greeter, &offset);
@@ -667,8 +665,8 @@ greeter_class_init (GreeterClass *klass)
                       G_SIGNAL_RUN_LAST,
                       G_STRUCT_OFFSET (GreeterClass, start_session),
                       NULL, NULL,
-                      ldm_marshal_VOID__STRING_STRING,
-                      G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING);
+                      g_cclosure_marshal_VOID__STRING,
+                      G_TYPE_NONE, 1, G_TYPE_STRING);
 
     g_type_class_add_private (klass, sizeof (GreeterPrivate));
 }
index 51d11e407e38cfe6858b9a6837cfb049729c8c82..05f1b61427831ad393ca3fa2680c14dd213b9e05 100644 (file)
@@ -31,7 +31,7 @@ typedef struct
 typedef struct
 {
     SessionClass parent_class;
-    void (*start_session)(Greeter *greeter, const gchar *session, const gchar *language);
+    void (*start_session)(Greeter *greeter, const gchar *session);
 } GreeterClass;
 
 GType greeter_get_type (void);
index 98e9da78af7127463687da55af3aef130a6344ad..599d93c8c1db5003bf5045f7a6ed97a0cf7e5bb3 100644 (file)
@@ -1,4 +1,3 @@
 BOOLEAN:OBJECT
 VOID:INT,POINTER
 VOID:OBJECT,BOOLEAN
-VOID:STRING,STRING
index 4f64b07a88f5029191041509c654a928b47de907..4018972c3fada39bc383392f966c26530eb1687b 100644 (file)
@@ -65,7 +65,7 @@ authentication_complete_cb (LdmGreeter *greeter)
 {
     notify_status ("GREETER AUTHENTICATION-COMPLETE AUTHENTICATED=%s", ldm_greeter_get_is_authenticated (greeter) ? "TRUE" : "FALSE");
     if (ldm_greeter_get_is_authenticated (greeter))
-        ldm_greeter_start_session_with_defaults (greeter);
+        ldm_greeter_start_default_session (greeter);
 }
 
 static void