]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Convert remaining login1 functions into methods in Login1Service
authorRobert Ancell <robert.ancell@canonical.com>
Thu, 4 Sep 2014 04:23:06 +0000 (16:23 +1200)
committerRobert Ancell <robert.ancell@canonical.com>
Thu, 4 Sep 2014 04:23:06 +0000 (16:23 +1200)
src/login1.c
src/login1.h
src/session.c

index 58186a02cb777f1d8ff859283e3b08c8c2c550ba..ad922a5a6a892be826f52d04f0cf15a752c15cdf 100644 (file)
@@ -73,129 +73,6 @@ G_DEFINE_TYPE (Login1Seat, login1_seat, G_TYPE_OBJECT);
 
 static Login1Service *singleton = NULL;
 
-void
-login1_lock_session (const gchar *session_id)
-{
-    GDBusConnection *bus;
-    GError *error = NULL;
-
-    g_return_if_fail (session_id != NULL);
-
-    g_debug ("Locking login1 session %s", session_id);
-
-    bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
-    if (error)
-        g_warning ("Failed to get system bus: %s", error->message);
-    g_clear_error (&error);
-    if (!bus)
-        return;
-
-    if (session_id)
-    {
-        GVariant *result;
-
-        result = g_dbus_connection_call_sync (bus,
-                                              LOGIN1_SERVICE_NAME,
-                                              LOGIN1_OBJECT_NAME,
-                                              LOGIN1_MANAGER_INTERFACE_NAME,
-                                              "LockSession",
-                                              g_variant_new ("(s)", session_id),
-                                              G_VARIANT_TYPE ("()"),
-                                              G_DBUS_CALL_FLAGS_NONE,
-                                              -1,
-                                              NULL,
-                                              &error);
-        if (error)
-            g_warning ("Error locking login1 session: %s", error->message);
-        g_clear_error (&error);
-        if (result)
-            g_variant_unref (result);
-    }
-    g_object_unref (bus);
-}
-
-void
-login1_unlock_session (const gchar *session_id)
-{
-    GDBusConnection *bus;
-    GError *error = NULL;
-
-    g_return_if_fail (session_id != NULL);
-
-    g_debug ("Unlocking login1 session %s", session_id);
-
-    bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
-    if (error)
-        g_warning ("Failed to get system bus: %s", error->message);
-    g_clear_error (&error);
-    if (!bus)
-        return;
-
-    if (session_id)
-    {
-        GVariant *result;
-
-        result = g_dbus_connection_call_sync (bus,
-                                              LOGIN1_SERVICE_NAME,
-                                              LOGIN1_OBJECT_NAME,
-                                              LOGIN1_MANAGER_INTERFACE_NAME,
-                                              "UnlockSession",
-                                              g_variant_new ("(s)", session_id),
-                                              G_VARIANT_TYPE ("()"),
-                                              G_DBUS_CALL_FLAGS_NONE,
-                                              -1,
-                                              NULL,
-                                              &error);
-        if (error)
-            g_warning ("Error unlocking login1 session: %s", error->message);
-        g_clear_error (&error);
-        if (result)
-            g_variant_unref (result);
-    }
-    g_object_unref (bus);
-}
-
-void
-login1_activate_session (const gchar *session_id)
-{
-    GDBusConnection *bus;
-    GError *error = NULL;
-
-    g_return_if_fail (session_id != NULL);
-
-    g_debug ("Activating login1 session %s", session_id);
-
-    bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
-    if (error)
-        g_warning ("Failed to get system bus: %s", error->message);
-    g_clear_error (&error);
-    if (!bus)
-        return;
-
-    if (session_id)
-    {
-        GVariant *result;
-
-        result = g_dbus_connection_call_sync (bus,
-                                              LOGIN1_SERVICE_NAME,
-                                              LOGIN1_OBJECT_NAME,
-                                              LOGIN1_MANAGER_INTERFACE_NAME,
-                                              "ActivateSession",
-                                              g_variant_new ("(s)", session_id),
-                                              G_VARIANT_TYPE ("()"),
-                                              G_DBUS_CALL_FLAGS_NONE,
-                                              -1,
-                                              NULL,
-                                              &error);
-        if (error)
-            g_warning ("Error activating login1 session: %s", error->message);
-        g_clear_error (&error);
-        if (result)
-            g_variant_unref (result);
-    }
-    g_object_unref (bus);
-}
-
 Login1Service *
 login1_service_get_instance (void)
 {
@@ -447,6 +324,105 @@ login1_service_get_seat (Login1Service *service, const gchar *id)
     return NULL;
 }
 
+void
+login1_service_lock_session (Login1Service *service, const gchar *session_id)
+{
+    GError *error = NULL;
+
+    g_return_if_fail (service != NULL);
+    g_return_if_fail (session_id != NULL);
+
+    g_debug ("Locking login1 session %s", session_id);
+
+    if (session_id)
+    {
+        GVariant *result;
+
+        result = g_dbus_connection_call_sync (service->priv->connection,
+                                              LOGIN1_SERVICE_NAME,
+                                              LOGIN1_OBJECT_NAME,
+                                              LOGIN1_MANAGER_INTERFACE_NAME,
+                                              "LockSession",
+                                              g_variant_new ("(s)", session_id),
+                                              G_VARIANT_TYPE ("()"),
+                                              G_DBUS_CALL_FLAGS_NONE,
+                                              -1,
+                                              NULL,
+                                              &error);
+        if (error)
+            g_warning ("Error locking login1 session: %s", error->message);
+        g_clear_error (&error);
+        if (result)
+            g_variant_unref (result);
+    }
+}
+
+void
+login1_service_unlock_session (Login1Service *service, const gchar *session_id)
+{
+    GError *error = NULL;
+
+    g_return_if_fail (service != NULL);
+    g_return_if_fail (session_id != NULL);
+
+    g_debug ("Unlocking login1 session %s", session_id);
+
+    if (session_id)
+    {
+        GVariant *result;
+
+        result = g_dbus_connection_call_sync (service->priv->connection,
+                                              LOGIN1_SERVICE_NAME,
+                                              LOGIN1_OBJECT_NAME,
+                                              LOGIN1_MANAGER_INTERFACE_NAME,
+                                              "UnlockSession",
+                                              g_variant_new ("(s)", session_id),
+                                              G_VARIANT_TYPE ("()"),
+                                              G_DBUS_CALL_FLAGS_NONE,
+                                              -1,
+                                              NULL,
+                                              &error);
+        if (error)
+            g_warning ("Error unlocking login1 session: %s", error->message);
+        g_clear_error (&error);
+        if (result)
+            g_variant_unref (result);
+    }
+}
+
+void
+login1_service_activate_session (Login1Service *service, const gchar *session_id)
+{
+    GError *error = NULL;
+
+    g_return_if_fail (service != NULL);
+    g_return_if_fail (session_id != NULL);
+
+    g_debug ("Activating login1 session %s", session_id);
+
+    if (session_id)
+    {
+        GVariant *result;
+
+        result = g_dbus_connection_call_sync (service->priv->connection,
+                                              LOGIN1_SERVICE_NAME,
+                                              LOGIN1_OBJECT_NAME,
+                                              LOGIN1_MANAGER_INTERFACE_NAME,
+                                              "ActivateSession",
+                                              g_variant_new ("(s)", session_id),
+                                              G_VARIANT_TYPE ("()"),
+                                              G_DBUS_CALL_FLAGS_NONE,
+                                              -1,
+                                              NULL,
+                                              &error);
+        if (error)
+            g_warning ("Error activating login1 session: %s", error->message);
+        g_clear_error (&error);
+        if (result)
+            g_variant_unref (result);
+    }
+}
+
 static void
 login1_service_init (Login1Service *service)
 {
index 4d5741464353736b817ffee36df7c7760b2955e2..416632f7a840302be68dfb0e046124dab438dae3 100644 (file)
 
 G_BEGIN_DECLS
 
-void login1_lock_session (const gchar *session_id);
-
-void login1_unlock_session (const gchar *session_id);
-
-void login1_activate_session (const gchar *session_id);
-
 #define LOGIN1_SEAT_TYPE (login1_seat_get_type())
 #define LOGIN1_SEAT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOGIN1_SEAT_TYPE, Login1Seat));
 
@@ -71,6 +65,12 @@ GList *login1_service_get_seats (Login1Service *service);
 
 Login1Seat *login1_service_get_seat (Login1Service *service, const gchar *id);
 
+void login1_service_lock_session (Login1Service *service, const gchar *session_id);
+
+void login1_service_unlock_session (Login1Service *service, const gchar *session_id);
+
+void login1_service_activate_session (Login1Service *service, const gchar *session_id);
+
 const gchar *login1_seat_get_id (Login1Seat *seat);
 
 gboolean login1_seat_get_can_graphical (Login1Seat *seat);
index 25482416e9e39cec6a58b929b246918fd52b69fa..5169bbdaa759ad1aa64979750085483fc6f1d48a 100644 (file)
@@ -816,7 +816,7 @@ session_lock (Session *session)
     if (getuid () == 0)
     {
         if (session->priv->login1_session)
-            login1_lock_session (session->priv->login1_session);
+            login1_service_lock_session (login1_service_get_instance (), session->priv->login1_session);
         else if (session->priv->console_kit_cookie)
             ck_lock_session (session->priv->console_kit_cookie);
     }
@@ -829,7 +829,7 @@ session_unlock (Session *session)
     if (getuid () == 0)
     {
         if (session->priv->login1_session)
-            login1_unlock_session (session->priv->login1_session);
+            login1_service_unlock_session (login1_service_get_instance (), session->priv->login1_session);
         else if (session->priv->console_kit_cookie)
             ck_unlock_session (session->priv->console_kit_cookie);
     }
@@ -842,7 +842,7 @@ session_activate (Session *session)
     if (getuid () == 0)
     {
         if (session->priv->login1_session)
-            login1_activate_session (session->priv->login1_session);
+            login1_service_activate_session (login1_service_get_instance (), session->priv->login1_session);
         else if (session->priv->console_kit_cookie)
             ck_activate_session (session->priv->console_kit_cookie);
     }