summaryrefslogtreecommitdiff
path: root/community/mate-session-manager/f0b5b1ab78879d64f80117415aacf029359afea5.diff
diff options
context:
space:
mode:
Diffstat (limited to 'community/mate-session-manager/f0b5b1ab78879d64f80117415aacf029359afea5.diff')
-rw-r--r--community/mate-session-manager/f0b5b1ab78879d64f80117415aacf029359afea5.diff271
1 files changed, 0 insertions, 271 deletions
diff --git a/community/mate-session-manager/f0b5b1ab78879d64f80117415aacf029359afea5.diff b/community/mate-session-manager/f0b5b1ab78879d64f80117415aacf029359afea5.diff
deleted file mode 100644
index ffbe19a5d..000000000
--- a/community/mate-session-manager/f0b5b1ab78879d64f80117415aacf029359afea5.diff
+++ /dev/null
@@ -1,271 +0,0 @@
-diff --git a/mate-session/gsm-logout-dialog.c b/mate-session/gsm-logout-dialog.c
-index 2d2947c..1a79875 100644
---- a/mate-session/gsm-logout-dialog.c
-+++ b/mate-session/gsm-logout-dialog.c
-@@ -200,13 +200,29 @@ enum {
- static gboolean
- gsm_logout_supports_system_suspend (GsmLogoutDialog *logout_dialog)
- {
-- return up_client_get_can_suspend (logout_dialog->priv->up_client);
-+ gboolean ret;
-+#ifdef HAVE_SYSTEMD
-+ if (LOGIND_RUNNING())
-+ ret = gsm_systemd_can_suspend (logout_dialog->priv->systemd);
-+ else
-+#endif
-+ ret = up_client_get_can_suspend (logout_dialog->priv->up_client);
-+
-+ return ret;
- }
-
- static gboolean
- gsm_logout_supports_system_hibernate (GsmLogoutDialog *logout_dialog)
- {
-- return up_client_get_can_hibernate (logout_dialog->priv->up_client);
-+ gboolean ret;
-+#ifdef HAVE_SYSTEMD
-+ if (LOGIND_RUNNING())
-+ ret = gsm_systemd_can_hibernate (logout_dialog->priv->systemd);
-+ else
-+#endif
-+ ret = up_client_get_can_hibernate (logout_dialog->priv->up_client);
-+
-+ return ret;
- }
-
- static gboolean
-diff --git a/mate-session/gsm-manager.c b/mate-session/gsm-manager.c
-index 8143d1f..b4986ac 100644
---- a/mate-session/gsm-manager.c
-+++ b/mate-session/gsm-manager.c
-@@ -1109,6 +1109,20 @@ enum {
- GError *error;
- gboolean ret;
-
-+#ifdef HAVE_SYSTEMD
-+ if (LOGIND_RUNNING()) {
-+
-+ GsmSystemd *systemd;
-+
-+ systemd = gsm_get_systemd ();
-+
-+ /* lock the screen before we suspend */
-+ manager_perhaps_lock (manager);
-+
-+ gsm_systemd_attempt_hibernate (systemd);
-+ }
-+ else {
-+#endif
- can_hibernate = up_client_get_can_hibernate (manager->priv->up_client);
- if (can_hibernate) {
-
-@@ -1123,6 +1137,9 @@ enum {
- g_error_free (error);
- }
- }
-+#ifdef HAVE_SYSTEMD
-+ }
-+#endif
- }
-
- static void
-@@ -1132,6 +1149,20 @@ enum {
- GError *error;
- gboolean ret;
-
-+#ifdef HAVE_SYSTEMD
-+ if (LOGIND_RUNNING()) {
-+
-+ GsmSystemd *systemd;
-+
-+ systemd = gsm_get_systemd ();
-+
-+ /* lock the screen before we suspend */
-+ manager_perhaps_lock (manager);
-+
-+ gsm_systemd_attempt_suspend (systemd);
-+ }
-+ else {
-+#endif
- can_suspend = up_client_get_can_suspend (manager->priv->up_client);
- if (can_suspend) {
-
-@@ -1146,6 +1177,9 @@ enum {
- g_error_free (error);
- }
- }
-+#ifdef HAVE_SYSTEMD
-+ }
-+#endif
- }
-
- static void
-diff --git a/mate-session/gsm-systemd.c b/mate-session/gsm-systemd.c
-index 377f026..dbe8ea0 100644
---- a/mate-session/gsm-systemd.c
-+++ b/mate-session/gsm-systemd.c
-@@ -725,6 +725,141 @@ static void gsm_systemd_on_name_owner_changed (DBusGProxy *bus_proxy,
- return can_stop;
- }
-
-+gboolean
-+gsm_systemd_can_hibernate (GsmSystemd *manager)
-+{
-+ gboolean res;
-+ gchar *value;
-+ gboolean can_hibernate;
-+ GError *error;
-+
-+ error = NULL;
-+
-+ if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
-+ g_warning ("Could not connect to Systemd: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+ res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
-+ "CanHibernate",
-+ INT_MAX,
-+ &error,
-+ G_TYPE_INVALID,
-+ G_TYPE_STRING, &value,
-+ G_TYPE_INVALID);
-+ if (res == FALSE) {
-+ g_warning ("Could not make DBUS call: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+ can_hibernate = g_strcmp0 (value, "yes") == 0 ||
-+ g_strcmp0 (value, "challenge") == 0;
-+ g_free (value);
-+ return can_hibernate;
-+}
-+
-+gboolean
-+gsm_systemd_can_suspend (GsmSystemd *manager)
-+{
-+ gboolean res;
-+ gchar *value;
-+ gboolean can_suspend;
-+ GError *error;
-+
-+ error = NULL;
-+
-+ if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
-+ g_warning ("Could not connect to Systemd: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+ res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
-+ "CanSuspend",
-+ INT_MAX,
-+ &error,
-+ G_TYPE_INVALID,
-+ G_TYPE_STRING, &value,
-+ G_TYPE_INVALID);
-+ if (res == FALSE) {
-+ g_warning ("Could not make DBUS call: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+ can_suspend = g_strcmp0 (value, "yes") == 0 ||
-+ g_strcmp0 (value, "challenge") == 0;
-+ g_free (value);
-+ return can_suspend;
-+}
-+
-+void
-+gsm_systemd_attempt_hibernate (GsmSystemd *manager)
-+{
-+ gboolean res;
-+ GError *error;
-+
-+ error = NULL;
-+
-+ if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
-+ g_warning ("Could not connect to Systemd: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+ res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
-+ "Hibernate",
-+ INT_MAX,
-+ &error,
-+ G_TYPE_BOOLEAN, TRUE, /* interactive */
-+ G_TYPE_INVALID,
-+ G_TYPE_INVALID);
-+ if (res == FALSE) {
-+ g_warning ("Could not make DBUS call: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+}
-+
-+void
-+gsm_systemd_attempt_suspend (GsmSystemd *manager)
-+{
-+ gboolean res;
-+ GError *error;
-+
-+ error = NULL;
-+
-+ if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
-+ g_warning ("Could not connect to Systemd: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+ res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
-+ "Suspend",
-+ INT_MAX,
-+ &error,
-+ G_TYPE_BOOLEAN, TRUE, /* interactive */
-+ G_TYPE_INVALID,
-+ G_TYPE_INVALID);
-+ if (res == FALSE) {
-+ g_warning ("Could not make DBUS call: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+}
-+
- gchar *
- gsm_systemd_get_current_session_type (GsmSystemd *manager)
- {
-diff --git a/mate-session/gsm-systemd.h b/mate-session/gsm-systemd.h
-index 8e886ba..e0e21c4 100644
---- a/mate-session/gsm-systemd.h
-+++ b/mate-session/gsm-systemd.h
-@@ -89,10 +89,18 @@ enum _GsmSystemdError {
-
- gboolean gsm_systemd_can_restart (GsmSystemd *manager);
-
-+gboolean gsm_systemd_can_hibernate (GsmSystemd *manager);
-+
-+gboolean gsm_systemd_can_suspend (GsmSystemd *manager);
-+
- void gsm_systemd_attempt_stop (GsmSystemd *manager);
-
- void gsm_systemd_attempt_restart (GsmSystemd *manager);
-
-+void gsm_systemd_attempt_hibernate (GsmSystemd *manager);
-+
-+void gsm_systemd_attempt_suspend (GsmSystemd *manager);
-+
- void gsm_systemd_set_session_idle (GsmSystemd *manager,
- gboolean is_idle);
-