summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Makefile.am7
-rw-r--r--src/dummy/up-backend.c71
-rw-r--r--src/freebsd/up-backend.c82
-rwxr-xr-xsrc/linux/integration-test2
-rw-r--r--src/linux/up-backend.c325
-rw-r--r--src/linux/up-dock.c17
-rwxr-xr-xsrc/notify-upower.sh7
-rw-r--r--src/openbsd/up-backend.c70
-rw-r--r--src/org.freedesktop.UPower.xml225
-rw-r--r--src/up-backend.h18
-rw-r--r--src/up-daemon.c623
-rw-r--r--src/up-daemon.h19
12 files changed, 1 insertions, 1465 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 1a97c17..affda04 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -15,7 +15,6 @@ AM_CPPFLAGS = \
-DHISTORY_DIR=\""$(historydir)"\" \
-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
-DUP_COMPILATION \
- -DUP_DISABLE_DEPRECATED \
-DG_LOG_DOMAIN=\"UPower\" \
-I$(top_srcdir)/libupower-glib \
-I$(top_srcdir) \
@@ -130,11 +129,6 @@ upowerd_LDFLAGS = \
$(PIE_LDFLAGS) \
$(RELRO_LDFLAGS)
-if HAVE_SYSTEMDUTILDIR
-systemsleepdir = $(systemdutildir)/system-sleep
-systemsleep_SCRIPTS = notify-upower.sh
-endif
-
if UP_BUILD_TESTS
check-local: upowerd
env GI_TYPELIB_PATH=$(top_builddir)/libupower-glib:$(GI_REPOSITORY_PATH) LD_LIBRARY_PATH=$(top_builddir)/libupower-glib/.libs:$(LD_LIBRARY_PATH) top_builddir=$(top_builddir) $(srcdir)/linux/integration-test -v
@@ -233,7 +227,6 @@ EXTRA_DIST = \
org.freedesktop.UPower.KbdBacklight.xml \
org.freedesktop.UPower.Wakeups.xml \
up-marshal.list \
- $(systemsleep_SCRIPTS) \
$(systemdservice_in_files) \
$(dbusservice_in_files) \
$(dbusconf_in_files)
diff --git a/src/dummy/up-backend.c b/src/dummy/up-backend.c
index 11c8e4a..5435dbe 100644
--- a/src/dummy/up-backend.c
+++ b/src/dummy/up-backend.c
@@ -230,74 +230,3 @@ up_backend_new (void)
{
return g_object_new (UP_TYPE_BACKEND, NULL);
}
-
-/**
- * up_backend_kernel_can_suspend:
- **/
-gboolean
-up_backend_kernel_can_suspend (UpBackend *backend)
-{
- return FALSE;
-}
-
-/**
- * up_backend_kernel_can_hibernate:
- **/
-gboolean
-up_backend_kernel_can_hibernate (UpBackend *backend)
-{
- return FALSE;
-}
-
-/**
- * up_backend_has_encrypted_swap:
- **/
-gboolean
-up_backend_has_encrypted_swap (UpBackend *backend)
-{
- return FALSE;
-}
-
-/**
- * up_backend_get_used_swap:
- *
- * Return value: a percentage value
- **/
-gfloat
-up_backend_get_used_swap (UpBackend *backend)
-{
- return 0.0;
-}
-
-/**
- * up_backend_get_suspend_command:
- **/
-const gchar *
-up_backend_get_suspend_command (UpBackend *backend)
-{
- return "/bin/true";
-}
-
-/**
- * up_backend_get_hibernate_command:
- **/
-const gchar *
-up_backend_get_hibernate_command (UpBackend *backend)
-{
- return "/bin/true";
-}
-
-/**
- * up_backend_get_powersave_command:
- **/
-const gchar *
-up_backend_get_powersave_command (UpBackend *backend, gboolean powersave)
-{
- return "/bin/true";
-}
-
-gboolean
-up_backend_emits_resuming (UpBackend *backend)
-{
- return FALSE;
-}
diff --git a/src/freebsd/up-backend.c b/src/freebsd/up-backend.c
index 9b742f5..67d5d60 100644
--- a/src/freebsd/up-backend.c
+++ b/src/freebsd/up-backend.c
@@ -44,8 +44,6 @@
#include "up-device.h"
#define UP_BACKEND_REFRESH_TIMEOUT 30 /* seconds */
-#define UP_BACKEND_SUSPEND_COMMAND "/usr/sbin/zzz"
-#define UP_BACKEND_HIBERNATE_COMMAND "/usr/sbin/acpiconf -s 4"
static void up_backend_class_init (UpBackendClass *klass);
static void up_backend_init (UpBackend *backend);
@@ -55,7 +53,6 @@ static gboolean up_backend_refresh_devices (gpointer user_data);
static gboolean up_backend_acpi_devd_notify (UpBackend *backend, const gchar *system, const gchar *subsystem, const gchar *type, const gchar *data);
static gboolean up_backend_create_new_device (UpBackend *backend, UpAcpiNative *native);
static void up_backend_lid_coldplug (UpBackend *backend);
-static gboolean up_backend_supports_sleep_state (const gchar *state);
#define UP_BACKEND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UP_TYPE_BACKEND, UpBackendPrivate))
@@ -298,65 +295,6 @@ up_backend_coldplug (UpBackend *backend, UpDaemon *daemon)
return TRUE;
}
-/**
- * up_backend_get_powersave_command:
- **/
-const gchar *
-up_backend_get_powersave_command (UpBackend *backend, gboolean powersave)
-{
- /* XXX: Do we want to use powerd here? */
- return NULL;
-}
-
-/**
- * up_backend_get_suspend_command:
- **/
-const gchar *
-up_backend_get_suspend_command (UpBackend *backend)
-{
- return UP_BACKEND_SUSPEND_COMMAND;
-}
-
-/**
- * up_backend_get_hibernate_command:
- **/
-const gchar *
-up_backend_get_hibernate_command (UpBackend *backend)
-{
- return UP_BACKEND_HIBERNATE_COMMAND;
-}
-
-gboolean
-up_backend_emits_resuming (UpBackend *backend)
-{
- return FALSE;
-}
-
-/**
- * up_backend_kernel_can_suspend:
- **/
-gboolean
-up_backend_kernel_can_suspend (UpBackend *backend)
-{
- return up_backend_supports_sleep_state ("S3");
-}
-
-/**
- * up_backend_kernel_can_hibernate:
- **/
-gboolean
-up_backend_kernel_can_hibernate (UpBackend *backend)
-{
- return up_backend_supports_sleep_state ("S4");
-}
-
-gboolean
-up_backend_has_encrypted_swap (UpBackend *backend)
-{
- /* XXX: Add support for GELI? */
- return FALSE;
-}
-
/* Return value: a percentage value */
gfloat
up_backend_get_used_swap (UpBackend *backend)
@@ -393,26 +331,6 @@ out:
}
/**
- * up_backend_supports_sleep_state:
- **/
-static gboolean
-up_backend_supports_sleep_state (const gchar *state)
-{
- gchar *sleep_states;
- gboolean ret = FALSE;
-
- sleep_states = up_get_string_sysctl (NULL, "hw.acpi.supported_sleep_state");
- if (sleep_states != NULL) {
- if (strstr (sleep_states, state) != NULL)
- ret = TRUE;
- }
-
- g_free (sleep_states);
-
- return ret;
-}
-
-/**
* up_backend_class_init:
* @klass: The UpBackendClass
**/
diff --git a/src/linux/integration-test b/src/linux/integration-test
index 8489bf3..510e1f7 100755
--- a/src/linux/integration-test
+++ b/src/linux/integration-test
@@ -722,8 +722,6 @@ class Tests(unittest.TestCase):
client = UPowerGlib.Client.new()
self.assertTrue(client.get_properties_sync(None))
self.assertRegex(client.get_daemon_version(), '^[0-9.]+$')
- self.assertIn(client.get_can_hibernate(), [False, True])
- self.assertIn(client.get_can_suspend(), [False, True])
self.assertIn(client.get_is_docked(), [False, True])
self.assertIn(client.get_lid_is_present(), [False, True])
self.assertIn(client.get_lid_is_closed(), [False, True])
diff --git a/src/linux/up-backend.c b/src/linux/up-backend.c
index 2f221b7..da76523 100644
--- a/src/linux/up-backend.c
+++ b/src/linux/up-backend.c
@@ -49,15 +49,6 @@
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
-#ifdef ENABLE_DEPRECATED
-
-#define LOGIND_AVAILABLE() (access("/run/systemd/seats/", F_OK) >= 0)
-
-#define SD_HIBERNATE_COMMAND "gdbus call --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --method org.freedesktop.login1.Manager.Hibernate 'true'"
-#define SD_SUSPEND_COMMAND "gdbus call --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --method org.freedesktop.login1.Manager.Suspend 'true'"
-
-#endif
-
static void up_backend_class_init (UpBackendClass *klass);
static void up_backend_init (UpBackend *backend);
static void up_backend_finalize (GObject *object);
@@ -78,9 +69,6 @@ struct UpBackendPrivate
enum {
SIGNAL_DEVICE_ADDED,
SIGNAL_DEVICE_REMOVED,
-#ifdef ENABLE_DEPRECATED
- SIGNAL_RESUMING,
-#endif
SIGNAL_LAST
};
@@ -91,13 +79,6 @@ G_DEFINE_TYPE (UpBackend, up_backend, G_TYPE_OBJECT)
static gboolean up_backend_device_add (UpBackend *backend, GUdevDevice *native);
static void up_backend_device_remove (UpBackend *backend, GUdevDevice *native);
-#ifdef ENABLE_DEPRECATED
-#define UP_BACKEND_SUSPEND_COMMAND "/usr/sbin/pm-suspend"
-#define UP_BACKEND_HIBERNATE_COMMAND "/usr/sbin/pm-hibernate"
-#define UP_BACKEND_POWERSAVE_TRUE_COMMAND "/usr/sbin/pm-powersave true"
-#define UP_BACKEND_POWERSAVE_FALSE_COMMAND "/usr/sbin/pm-powersave false"
-#endif
-
/**
* up_backend_device_new:
**/
@@ -367,273 +348,6 @@ up_backend_coldplug (UpBackend *backend, UpDaemon *daemon)
return TRUE;
}
-#ifdef ENABLE_DEPRECATED
-/**
- * up_backend_supports_sleep_state:
- *
- * use pm-is-supported to test for supported sleep states
- **/
-static gboolean
-up_backend_supports_sleep_state (const gchar *state)
-{
- gboolean ret = FALSE;
- gchar *command;
- GError *error = NULL;
- gint exit_status;
-
- /* run script from pm-utils */
- command = g_strdup_printf ("/usr/bin/pm-is-supported --%s", state);
- g_debug ("excuting command: %s", command);
- ret = g_spawn_command_line_sync (command, NULL, NULL, &exit_status, &error);
- if (!ret) {
- g_warning ("failed to run script: %s", error->message);
- g_error_free (error);
- goto out;
- }
- ret = (WIFEXITED(exit_status) && (WEXITSTATUS(exit_status) == EXIT_SUCCESS));
-
-out:
- g_free (command);
- return ret;
-}
-
-/**
- * up_backend_kernel_can_suspend:
- **/
-gboolean
-up_backend_kernel_can_suspend (UpBackend *backend)
-{
- return up_backend_supports_sleep_state ("suspend");
-}
-
-/**
- * up_backend_kernel_can_hibernate:
- **/
-gboolean
-up_backend_kernel_can_hibernate (UpBackend *backend)
-{
- return up_backend_supports_sleep_state ("hibernate");
-}
-
-/**
- * up_backend_has_encrypted_swap:
- *
- * user@local:~$ cat /proc/swaps
- * Filename Type Size Used Priority
- * /dev/mapper/cryptswap1 partition 4803392 35872 -1
- *
- * user@local:~$ cat /etc/crypttab
- * # <target name> <source device> <key file> <options>
- * cryptswap1 /dev/sda5 /dev/urandom swap,cipher=aes-cbc-essiv:sha256
- *
- * Loop over the swap partitions in /proc/swaps, looking for matches in /etc/crypttab
- **/
-gboolean
-up_backend_has_encrypted_swap (UpBackend *backend)
-{
- gchar *contents_swaps = NULL;
- gchar *contents_crypttab = NULL;
- gchar **lines_swaps = NULL;
- gchar **lines_crypttab = NULL;
- GError *error = NULL;
- gboolean ret;
- gboolean encrypted_swap = FALSE;
- const gchar *filename_swaps = "/proc/swaps";
- const gchar *filename_crypttab = "/etc/crypttab";
- GPtrArray *devices = NULL;
- gchar *device;
- guint i, j;
-
- /* get swaps data */
- ret = g_file_get_contents (filename_swaps, &contents_swaps, NULL, &error);
- if (!ret) {
- g_warning ("failed to open %s: %s", filename_swaps, error->message);
- g_error_free (error);
- goto out;
- }
-
- /* get crypttab data */
- ret = g_file_get_contents (filename_crypttab, &contents_crypttab, NULL, &error);
- if (!ret) {
- if (error->code != G_FILE_ERROR_NOENT) {
- g_warning ("failed to open %s: %s", filename_crypttab, error->message);
- }
- g_error_free (error);
- goto out;
- }
-
- /* split both into lines */
- lines_swaps = g_strsplit (contents_swaps, "\n", -1);
- lines_crypttab = g_strsplit (contents_crypttab, "\n", -1);
-
- /* get valid swap devices */
- devices = g_ptr_array_new_with_free_func (g_free);
- for (i=0; lines_swaps[i] != NULL; i++) {
-
- /* is a device? */
- if (lines_swaps[i][0] != '/')
- continue;
-
- /* only look at first parameter */
- g_strdelimit (lines_swaps[i], "\t ", '\0');
-
- /* add base device to list */
- device = g_path_get_basename (lines_swaps[i]);
- g_debug ("adding swap device: %s", device);
- g_ptr_array_add (devices, device);
- }
-
- /* no swap devices? */
- if (devices->len == 0) {
- g_debug ("no swap devices");
- goto out;
- }
-
- /* find matches in crypttab */
- for (i=0; lines_crypttab[i] != NULL; i++) {
-
- /* ignore invalid lines */
- if (lines_crypttab[i][0] == '#' ||
- lines_crypttab[i][0] == '\n' ||
- lines_crypttab[i][0] == '\t' ||
- lines_crypttab[i][0] == '\0')
- continue;
-
- /* only look at first parameter */
- g_strdelimit (lines_crypttab[i], "\t ", '\0');
-
- /* is a swap device? */
- for (j=0; j<devices->len; j++) {
- device = g_ptr_array_index (devices, j);
- if (g_strcmp0 (device, lines_crypttab[i]) == 0) {
- g_debug ("swap device %s is encrypted (so cannot hibernate)", device);
- encrypted_swap = TRUE;
- goto out;
- }
- g_debug ("swap device %s is not encrypted (allows hibernate)", device);
- }
- }
-
-out:
- if (devices != NULL)
- g_ptr_array_unref (devices);
- g_free (contents_swaps);
- g_free (contents_crypttab);
- g_strfreev (lines_swaps);
- g_strfreev (lines_crypttab);
- return encrypted_swap;
-}
-
-/**
- * up_backend_get_used_swap:
- *
- * Return value: a percentage value how much of the available swap memory would
- * be taken by currently active memory
- **/
-gfloat
-up_backend_get_used_swap (UpBackend *backend)
-{
- gchar *contents = NULL;
- gchar **lines = NULL;
- GError *error = NULL;
- gchar **tokens;
- gboolean ret;
- guint active = 0;
- guint swap_free = 0;
- guint swap_total = 0;
- guint len;
- guint i;
- gfloat percentage = 0.0f;
- const gchar *filename = "/proc/meminfo";
-
- /* get memory data */
- ret = g_file_get_contents (filename, &contents, NULL, &error);
- if (!ret) {
- g_warning ("failed to open %s: %s", filename, error->message);
- g_error_free (error);
- goto out;
- }
-
- /* process each line */
- lines = g_strsplit (contents, "\n", -1);
- for (i=1; lines[i] != NULL; i++) {
- tokens = g_strsplit_set (lines[i], ": ", -1);
- len = g_strv_length (tokens);
- if (len > 3) {
- if (g_strcmp0 (tokens[0], "SwapFree") == 0)
- swap_free = atoi (tokens[len-2]);
- if (g_strcmp0 (tokens[0], "SwapTotal") == 0)
- swap_total = atoi (tokens[len-2]);
- else if (g_strcmp0 (tokens[0], "Active(anon)") == 0)
- active = atoi (tokens[len-2]);
- }
- g_strfreev (tokens);
- }
-
- /* first check if we even have swap, if not consider all swap space used */
- if (swap_total == 0) {
- g_debug ("no swap space found");
- percentage = 100.0f;
- goto out;
- }
-
- /* work out how close to the line we are */
- if (swap_free > 0 && active > 0)
- percentage = (active * 100) / swap_free;
- g_debug ("total swap available %i kb, active memory %i kb (%.1f%%)", swap_free, active, percentage);
-out:
- g_free (contents);
- g_strfreev (lines);
- return percentage;
-}
-
-/**
- * up_backend_get_suspend_command:
- **/
-const gchar *
-up_backend_get_suspend_command (UpBackend *backend)
-{
- if (LOGIND_AVAILABLE())
- return SD_SUSPEND_COMMAND;
- else
- return UP_BACKEND_SUSPEND_COMMAND;
-}
-
-/**
- * up_backend_get_hibernate_command:
- **/
-const gchar *
-up_backend_get_hibernate_command (UpBackend *backend)
-{
- if (LOGIND_AVAILABLE())
- return SD_HIBERNATE_COMMAND;
- else
- return UP_BACKEND_HIBERNATE_COMMAND;
-}
-
-gboolean
-up_backend_emits_resuming (UpBackend *backend)
-{
- if (LOGIND_AVAILABLE())
- return TRUE;
- else
- return FALSE;
-}
-#endif
-
-#ifdef ENABLE_DEPRECATED
-/**
- * up_backend_get_powersave_command:
- **/
-const gchar *
-up_backend_get_powersave_command (UpBackend *backend, gboolean powersave)
-{
- if (powersave)
- return UP_BACKEND_POWERSAVE_TRUE_COMMAND;
- return UP_BACKEND_POWERSAVE_FALSE_COMMAND;
-}
-#endif
-
/**
* up_backend_class_init:
* @klass: The UpBackendClass
@@ -656,35 +370,10 @@ up_backend_class_init (UpBackendClass *klass)
G_STRUCT_OFFSET (UpBackendClass, device_removed),
NULL, NULL, up_marshal_VOID__POINTER_POINTER,
G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER);
-#ifdef ENABLE_DEPRECATED
- signals [SIGNAL_RESUMING] =
- g_signal_new ("resuming",
- G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (UpBackendClass, resuming),
- NULL, NULL, g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-#endif
g_type_class_add_private (klass, sizeof (UpBackendPrivate));
}
-#ifdef ENABLE_DEPRECATED
-static DBusHandlerResult
-message_filter (DBusConnection *connection,
- DBusMessage *message,
- void *user_data)
-{
- UpBackend *backend = user_data;
-
- if (dbus_message_is_signal (message, "org.freedesktop.UPower", "Resuming")) {
- g_debug ("received Resuming signal");
- g_signal_emit (backend, signals[SIGNAL_RESUMING], 0);
- return DBUS_HANDLER_RESULT_HANDLED;
- }
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-}
-#endif
-
/**
* up_backend_init:
**/
@@ -696,15 +385,6 @@ up_backend_init (UpBackend *backend)
backend->priv->daemon = NULL;
backend->priv->device_list = NULL;
backend->priv->managed_devices = up_device_list_new ();
-
-#ifdef ENABLE_DEPRECATED
- if (LOGIND_AVAILABLE()) {
- DBusGConnection *bus;
- bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, NULL);
- backend->priv->connection = dbus_g_connection_get_connection (bus);
- dbus_connection_add_filter (backend->priv->connection, message_filter, backend, NULL);
- }
-#endif
}
/**
@@ -729,11 +409,6 @@ up_backend_finalize (GObject *object)
g_object_unref (backend->priv->managed_devices);
-#ifdef ENABLE_DEPRECATED
- if (backend->priv->connection)
- dbus_connection_remove_filter (backend->priv->connection, message_filter, backend);
-#endif
-
G_OBJECT_CLASS (up_backend_parent_class)->finalize (object);
}
diff --git a/src/linux/up-dock.c b/src/linux/up-dock.c
index f9a7c67..78fb7d3 100644
--- a/src/linux/up-dock.c
+++ b/src/linux/up-dock.c
@@ -33,7 +33,6 @@ struct UpDockPrivate
UpDaemon *daemon;
GUdevClient *gudev_client;
guint poll_id;
- guint notify_resume_id;
};
G_DEFINE_TYPE (UpDock, up_dock, G_TYPE_OBJECT)
@@ -121,17 +120,6 @@ up_dock_set_should_poll (UpDock *dock, gboolean should_poll)
}
/**
- * up_dock_notify_resume_cb
- */
-static void
-up_dock_notify_resume_cb (UpDaemon *daemon,
- const gchar *sleep_kind,
- UpDock *dock)
-{
- up_dock_refresh (dock);
-}
-
-/**
* up_dock_coldplug:
**/
gboolean
@@ -139,9 +127,6 @@ up_dock_coldplug (UpDock *dock, UpDaemon *daemon)
{
/* save daemon */
dock->priv->daemon = g_object_ref (daemon);
- dock->priv->notify_resume_id = g_signal_connect (dock->priv->daemon, "notify-resume",
- G_CALLBACK (up_dock_notify_resume_cb),
- dock);
return up_dock_refresh (dock);
}
@@ -185,8 +170,6 @@ up_dock_finalize (GObject *object)
g_return_if_fail (dock->priv != NULL);
g_object_unref (dock->priv->gudev_client);
- if (dock->priv->notify_resume_id != 0)
- g_signal_handler_disconnect (dock->priv->daemon, dock->priv->notify_resume_id);
if (dock->priv->daemon != NULL)
g_object_unref (dock->priv->daemon);
if (dock->priv->poll_id != 0)
diff --git a/src/notify-upower.sh b/src/notify-upower.sh
deleted file mode 100755
index 8421f06..0000000
--- a/src/notify-upower.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-[ "$1" = "post" ] && exec /usr/bin/dbus-send \
- --system --type=signal \
- --dest=org.freedesktop.UPower \
- /org/freedesktop/UPower \
- org.freedesktop.UPower.Resuming
-exit 0
diff --git a/src/openbsd/up-backend.c b/src/openbsd/up-backend.c
index 29d41c8..1651b78 100644
--- a/src/openbsd/up-backend.c
+++ b/src/openbsd/up-backend.c
@@ -27,10 +27,6 @@
#include "up-device.h"
#include <string.h> /* strcmp() */
-#define UP_BACKEND_SUSPEND_COMMAND "/usr/sbin/zzz"
-#define UP_BACKEND_POWERSAVE_TRUE_COMMAND "/usr/sbin/apm -C"
-#define UP_BACKEND_POWERSAVE_FALSE_COMMAND "/usr/sbin/apm -A"
-
static void up_backend_class_init (UpBackendClass *klass);
static void up_backend_init (UpBackend *backend);
static void up_backend_finalize (GObject *object);
@@ -177,72 +173,6 @@ up_backend_coldplug (UpBackend *backend, UpDaemon *daemon)
/**
- * up_backend_get_powersave_command:
- **/
-const gchar *
-up_backend_get_powersave_command (UpBackend *backend, gboolean powersave)
-{
- if (powersave)
- return UP_BACKEND_POWERSAVE_TRUE_COMMAND;
- return UP_BACKEND_POWERSAVE_FALSE_COMMAND;
-}
-
-/**
- * up_backend_get_suspend_command:
- **/
-const gchar *
-up_backend_get_suspend_command (UpBackend *backend)
-{
- return UP_BACKEND_SUSPEND_COMMAND;
-}
-
-/**
- * up_backend_get_hibernate_command:
- **/
-const gchar *
-up_backend_get_hibernate_command (UpBackend *backend)
-{
- return NULL;
-}
-
-gboolean
-up_backend_emits_resuming (UpBackend *backend)
-{
- return FALSE;
-}
-
-/**
- * up_backend_kernel_can_suspend:
- **/
-gboolean
-up_backend_kernel_can_suspend (UpBackend *backend)
-{
- return TRUE;
-}
-
-/**
- * up_backend_kernel_can_hibernate:
- **/
-gboolean
-up_backend_kernel_can_hibernate (UpBackend *backend)
-{
- return FALSE;
-}
-
-gboolean
-up_backend_has_encrypted_swap (UpBackend *backend)
-{
- return FALSE;
-}
-
-/* Return value: a percentage value */
-gfloat
-up_backend_get_used_swap (UpBackend *backend)
-{
- return 0;
-}
-
-/**
* OpenBSD specific code
**/
diff --git a/src/org.freedesktop.UPower.xml b/src/org.freedesktop.UPower.xml
index 9582ab5..8fe71e1 100644
--- a/src/org.freedesktop.UPower.xml
+++ b/src/org.freedesktop.UPower.xml
@@ -113,219 +113,12 @@ method return sender=:1.386 -> dest=:1.451 reply_serial=2
<!-- ************************************************************ -->
- <signal name="Sleeping">
- <doc:doc>
- <doc:description>
- <doc:para>
- This signal is sent when the session is about to be suspended or
- hibernated.
- </doc:para>
- <doc:para>
- This signal is DEPRECATED. Use NotifySleep() instead.
- </doc:para>
- </doc:description>
- </doc:doc>
- </signal>
-
- <!-- ************************************************************ -->
-
- <signal name="NotifySleep">
- <doc:doc>
- <doc:description>
- <doc:para>
- This signal is sent when the session is about to be suspended or
- hibernated.
- Session and system programs have one second to do anything required
- before the sleep action is taken (such as sending out Avahi or
- Jabber messages).
- </doc:para>
- </doc:description>
- </doc:doc>
- <arg name="action" direction="out" type="s">
- <doc:doc>
- <doc:summary>
- The sleep action type, e.g. <doc:tt>suspend</doc:tt>,
- <doc:tt>hibernate</doc:tt> or <doc:tt>hybrid</doc:tt>.
- </doc:summary>
- </doc:doc>
- </arg>
- </signal>
-
- <!-- ************************************************************ -->
-
- <signal name="Resuming">
- <doc:doc>
- <doc:description>
- <doc:para>
- This signal is sent when the session has just returned from
- Suspend() or Hibernate().
- </doc:para>
- <doc:para>
- This signal is DEPRECATED. Use NotifyResume() instead.
- </doc:para>
- </doc:description>
- </doc:doc>
- </signal>
-
- <!-- ************************************************************ -->
-
- <signal name="NotifyResume">
- <doc:doc>
- <doc:description>
- <doc:para>
- This signal is sent when the session has just returned from
- Suspend() or Hibernate().
- Session and system programs can then do anything required (such as
- sending out Avahi or Jabber messages).
- </doc:para>
- </doc:description>
- </doc:doc>
- <arg name="action" direction="out" type="s">
- <doc:doc>
- <doc:summary>
- The sleep action type, e.g. <doc:tt>suspend</doc:tt>,
- <doc:tt>hibernate</doc:tt> or <doc:tt>hybrid</doc:tt>.
- </doc:summary>
- </doc:doc>
- </arg>
- </signal>
-
- <!-- ************************************************************ -->
-
- <method name="AboutToSleep">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <doc:doc>
- <doc:description>
- <doc:para>
- This method tells UPower that the Suspend() or Hibernate() method
- is about to be called.
- This allows UPower to emit the Suspending signal whilst
- session activities are happening that have to be done before the
- suspend process is started.
- </doc:para>
- <doc:para>
- This method would typically be called by the session power
- management daemon, before it locks the screen and waits for the
- screen to fade to black.
- The session power management component would then call Suspend() or
- Hibernate() when these syncronous tasks have completed.
- </doc:para>
- <doc:para>
- If this method is not called than nothing bad will happen and
- Suspend() or Hibernate() will block for the required second.
- </doc:para>
- </doc:description>
- </doc:doc>
- <arg name="action" direction="in" type="s">
- <doc:doc>
- <doc:summary>
- The sleep action type, e.g. <doc:tt>suspend</doc:tt> or
- <doc:tt>hibernate</doc:tt>.
- </doc:summary>
- </doc:doc>
- </arg>
- </method>
-
- <!-- ************************************************************ -->
-
- <method name="Suspend">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <doc:doc>
- <doc:description>
- <doc:para>
- Suspends the computer into a low power state.
- System state is not preserved if the power is lost.
- </doc:para>
- <doc:para>
- If AboutToSleep() has not been called then UPower will send
- the Sleeping() signal and block for one second.
- </doc:para>
- <doc:para>
- If AboutToSleep() has been called less than one second
- before this method is called then UPower will block for the
- remaining time to complete one second of delay.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <!-- ************************************************************ -->
-
- <method name="SuspendAllowed">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="allowed" direction="out" type="b">
- <doc:doc><doc:summary>TRUE if allowed, otherwise FALSE</doc:summary></doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>
- Check if the caller has (or can get) the PolicyKit privilege to call
- <doc:ref type="method" to="Power.Suspend">Suspend</doc:ref>.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <!-- ************************************************************ -->
-
- <method name="Hibernate">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <doc:doc>
- <doc:description>
- <doc:para>
- Hibernates the computer into a low power state.
- System state is preserved if the power is lost.
- </doc:para>
- <doc:para>
- If AboutToSleep() has not been called then UPower will send
- the Sleeping() signal and block for one second.
- </doc:para>
- <doc:para>
- If AboutToSleep() has been called less than one second
- before this method is called then UPower will block for the
- remaining time to complete one second of delay.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <!-- ************************************************************ -->
-
- <method name="HibernateAllowed">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="allowed" direction="out" type="b">
- <doc:doc><doc:summary>TRUE if allowed, otherwise FALSE</doc:summary></doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>
- Check if the caller has (or can get) the PolicyKit privilege to call
- <doc:ref type="method" to="Power.Hibernate">Hibernate</doc:ref>.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <!-- ************************************************************ -->
-
<property name="DaemonVersion" type="s" access="read">
<doc:doc><doc:description><doc:para>
Version of the running daemon, e.g. <doc:tt>002</doc:tt>.
</doc:para></doc:description></doc:doc>
</property>
- <property name="CanSuspend" type="b" access="read">
- <doc:doc><doc:description><doc:para>
- Whether the system is able to suspend.
- </doc:para></doc:description></doc:doc>
- </property>
-
- <property name="CanHibernate" type="b" access="read">
- <doc:doc><doc:description><doc:para>
- Whether the system is able to hibernate.
- </doc:para></doc:description></doc:doc>
- </property>
-
<property name="OnBattery" type="b" access="read">
<doc:doc><doc:description><doc:para>
Indicates whether the system is running on battery power.
@@ -360,24 +153,6 @@ method return sender=:1.386 -> dest=:1.451 reply_serial=2
</doc:doc>
</property>
- <property name="LidForceSleep" type="b" access="read">
- <doc:doc>
- <doc:description>
- <doc:para>
- If the system really has to sleep when the lid is closed.
- Some laptops actually melt (!) if the lid is closed and the
- computer keeps running. We blacklist those, and do something
- sane for the other machines.
- </doc:para>
- <doc:para>
- This allows us to set the default session policy to not
- suspend on lid close if the laptop is docked, and be sure
- the machine is not going to melt.
- </doc:para>
- </doc:description>
- </doc:doc>
- </property>
-
<property name="IsDocked" type="b" access="read">
<doc:doc>
<doc:description>
diff --git a/src/up-backend.h b/src/up-backend.h
index 44ab6c0..06ab7ea 100644
--- a/src/up-backend.h
+++ b/src/up-backend.h
@@ -61,9 +61,6 @@ typedef struct
void (* device_removed) (UpBackend *backend,
GObject *native,
UpDevice *device);
-#ifdef ENABLE_DEPRECATED
- void (* resuming) (UpBackend *backend);
-#endif
} UpBackendClass;
GType up_backend_get_type (void);
@@ -72,21 +69,6 @@ void up_backend_test (gpointer user_data);
gboolean up_backend_coldplug (UpBackend *backend,
UpDaemon *daemon);
-#ifdef ENABLE_DEPRECATED
-gboolean up_backend_kernel_can_suspend (UpBackend *backend);
-gboolean up_backend_kernel_can_hibernate (UpBackend *backend);
-gboolean up_backend_has_encrypted_swap (UpBackend *backend);
-gfloat up_backend_get_used_swap (UpBackend *backend);
-const gchar *up_backend_get_suspend_command (UpBackend *backend);
-const gchar *up_backend_get_hibernate_command (UpBackend *backend);
-#endif
-#ifdef ENABLE_DEPRECATED
-const gchar *up_backend_get_powersave_command (UpBackend *backend,
- gboolean powersave);
-#endif
-#ifdef ENABLE_DEPRECATED
-gboolean up_backend_emits_resuming (UpBackend *backend);
-#endif
G_END_DECLS
diff --git a/src/up-daemon.c b/src/up-daemon.c
index bbfb806..ccd52fb 100644
--- a/src/up-daemon.c
+++ b/src/up-daemon.c
@@ -46,13 +46,10 @@ enum
{
PROP_0,
PROP_DAEMON_VERSION,
- PROP_CAN_SUSPEND,
- PROP_CAN_HIBERNATE,
PROP_ON_BATTERY,
PROP_ON_LOW_BATTERY,
PROP_LID_IS_CLOSED,
PROP_LID_IS_PRESENT,
- PROP_LID_FORCE_SLEEP,
PROP_IS_DOCKED,
PROP_LAST
};
@@ -63,10 +60,6 @@ enum
SIGNAL_DEVICE_REMOVED,
SIGNAL_DEVICE_CHANGED,
SIGNAL_CHANGED,
- SIGNAL_SLEEPING,
- SIGNAL_RESUMING,
- SIGNAL_NOTIFY_SLEEP,
- SIGNAL_NOTIFY_RESUME,
SIGNAL_LAST,
};
@@ -84,27 +77,10 @@ struct UpDaemonPrivate
gboolean on_low_battery;
gboolean lid_is_closed;
gboolean lid_is_present;
- gboolean lid_force_sleep;
gboolean is_docked;
-#ifdef ENABLE_DEPRECATED
- gboolean kernel_can_suspend;
- gboolean kernel_can_hibernate;
- gboolean hibernate_has_encrypted_swap;
-#endif
gboolean during_coldplug;
-#ifdef ENABLE_DEPRECATED
- gboolean sent_sleeping_signal;
-#endif
guint battery_poll_id;
guint battery_poll_count;
-#ifdef ENABLE_DEPRECATED
- GTimer *about_to_sleep_timer;
- guint about_to_sleep_id;
- guint conf_sleep_timeout;
- gboolean conf_allow_hibernate_encrypted_swap;
- gboolean conf_run_powersave_command;
-#endif
- const gchar *sleep_kind;
};
static void up_daemon_finalize (GObject *object);
@@ -116,12 +92,6 @@ G_DEFINE_TYPE (UpDaemon, up_daemon, G_TYPE_OBJECT)
#define UP_DAEMON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UP_TYPE_DAEMON, UpDaemonPrivate))
-/* if using more memory compared to usable swap, disable hibernate */
-/* Native Linux suspend-to-disk does not use compression, and needs 2 KB of
- * page meta information for each MB of active memory. Add some error margin
- * here, though. */
-#define UP_DAEMON_SWAP_WATERLINE 98.f /* % */
-
/* refresh all the devices after this much time when on-battery has changed */
#define UP_DAEMON_ON_BATTERY_REFRESH_DEVICES_DELAY 1 /* seconds */
#define UP_DAEMON_POLL_BATTERY_NUMBER_TIMES 5
@@ -239,35 +209,6 @@ up_daemon_get_on_ac_local (UpDaemon *daemon)
return result;
}
-#ifdef ENABLE_DEPRECATED
-/**
- * up_daemon_set_powersave:
- **/
-static gboolean
-up_daemon_set_powersave (UpDaemon *daemon, gboolean powersave)
-{
- gboolean ret = FALSE;
- const gchar *command;
- GError *error = NULL;
-
- /* run script */
- command = up_backend_get_powersave_command (daemon->priv->backend, powersave);
- if (command == NULL) {
- g_warning ("no powersave command set");
- goto out;
- }
- g_debug ("excuting command: %s", command);
- ret = g_spawn_command_line_async (command, &error);
- if (!ret) {
- g_warning ("failed to run script: %s", error->message);
- g_error_free (error);
- goto out;
- }
-out:
- return ret;
-}
-#endif
-
/**
* up_daemon_refresh_battery_devices:
**/
@@ -324,439 +265,6 @@ up_daemon_enumerate_devices (UpDaemon *daemon, DBusGMethodInvocation *context)
}
/**
- * up_daemon_about_to_sleep:
- **/
-gboolean
-up_daemon_about_to_sleep (UpDaemon *daemon,
- const gchar *sleep_kind,
- DBusGMethodInvocation *context)
-{
- GError *error;
-#ifdef ENABLE_DEPRECATED
- PolkitSubject *subject = NULL;
- UpDaemonPrivate *priv = daemon->priv;
-
- /* already requested */
- if (priv->about_to_sleep_id != 0) {
- error = g_error_new (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "Sleep has already been requested and is pending");
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- goto out;
- }
-
- subject = up_polkit_get_subject (priv->polkit, context);
- if (subject == NULL)
- goto out;
-
- /* TODO: use another PolicyKit context? */
- if (!up_polkit_check_auth (priv->polkit, subject, "org.freedesktop.upower.suspend", context))
- goto out;
-
- /* we've told the clients we're going down */
- g_debug ("emitting sleeping");
- g_signal_emit (daemon, signals[SIGNAL_SLEEPING], 0);
- g_signal_emit (daemon, signals[SIGNAL_NOTIFY_SLEEP], 0,
- sleep_kind);
- g_timer_start (priv->about_to_sleep_timer);
- daemon->priv->sent_sleeping_signal = TRUE;
-
- dbus_g_method_return (context, NULL);
-out:
- if (subject != NULL)
- g_object_unref (subject);
- return TRUE;
-#else
- /* just return an error */
- error = g_error_new_literal (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "Method is deprecated, please port to org.freedesktop.login1.Manager.Inhibit");
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- return FALSE;
-#endif
-}
-
-/* temp object for deferred callback */
-typedef struct {
- UpDaemon *daemon;
- DBusGMethodInvocation *context;
- gchar *command;
- gulong handler;
-} UpDaemonDeferredSleep;
-
-#ifdef ENABLE_DEPRECATED
-static void
-emit_resuming (UpDaemonDeferredSleep *sleep)
-{
- UpDaemon *daemon = sleep->daemon;
- UpDaemonPrivate *priv = daemon->priv;
-
- /* emit signal for session components */
- g_debug ("emitting resuming");
- g_signal_emit (daemon, signals[SIGNAL_RESUMING], 0);
- g_signal_emit (daemon, signals[SIGNAL_NOTIFY_RESUME], 0,
- priv->sleep_kind);
-
- /* reset the about-to-sleep logic */
- g_timer_reset (priv->about_to_sleep_timer);
- g_timer_stop (priv->about_to_sleep_timer);
-
- /* actually return from the DBus call now */
- dbus_g_method_return (sleep->context, NULL);
-
- /* clear timer */
- priv->about_to_sleep_id = 0;
- priv->sent_sleeping_signal = FALSE;
-
- /* delete temp object */
- if (sleep->handler)
- g_signal_handler_disconnect (priv->backend, sleep->handler);
- g_object_unref (sleep->daemon);
- g_free (sleep->command);
- g_free (sleep);
-}
-
-/**
- * up_daemon_deferred_sleep_cb:
- **/
-static gboolean
-up_daemon_deferred_sleep_cb (UpDaemonDeferredSleep *sleep)
-{
- GError *error;
- GError *error_local = NULL;
- gchar *stdout = NULL;
- gchar *stderr = NULL;
- gboolean ret;
- UpDaemon *daemon = sleep->daemon;
- UpDaemonPrivate *priv = daemon->priv;
-
- if (up_backend_emits_resuming (priv->backend)) {
- sleep->handler = g_signal_connect_swapped (priv->backend, "resuming",
- G_CALLBACK (emit_resuming), sleep);
- }
-
- /* run the command */
- g_debug ("Running %s", sleep->command);
- ret = g_spawn_command_line_sync (sleep->command, &stdout, &stderr, NULL, &error_local);
- if (!ret) {
- error = g_error_new (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "Failed to spawn: %s, stdout:%s, stderr:%s", error_local->message, stdout, stderr);
- g_error_free (error_local);
- dbus_g_method_return_error (sleep->context, error);
- g_error_free (error);
- goto out;
- }
-
- if (!up_backend_emits_resuming (priv->backend))
- emit_resuming (sleep);
-
-out:
- g_free (stdout);
- g_free (stderr);
-
- return FALSE;
-}
-
-/**
- * up_daemon_deferred_sleep:
- **/
-static void
-up_daemon_deferred_sleep (UpDaemon *daemon, const gchar *command, DBusGMethodInvocation *context)
-{
- UpDaemonDeferredSleep *sleep;
- UpDaemonPrivate *priv = daemon->priv;
- gfloat elapsed;
-
- /* create callback object */
- sleep = g_new0 (UpDaemonDeferredSleep, 1);
- sleep->daemon = g_object_ref (daemon);
- sleep->context = context;
- sleep->command = g_strdup (command);
-
- /* we didn't use AboutToSleep() so send the signal for clients now */
- if (!priv->sent_sleeping_signal) {
- g_debug ("no AboutToSleep(), so emitting ::Sleeping()");
- g_signal_emit (daemon, signals[SIGNAL_SLEEPING], 0);
- g_signal_emit (daemon, signals[SIGNAL_NOTIFY_SLEEP], 0,
- priv->sleep_kind);
- priv->about_to_sleep_id = g_timeout_add (priv->conf_sleep_timeout,
- (GSourceFunc) up_daemon_deferred_sleep_cb, sleep);
-#if GLIB_CHECK_VERSION(2,25,8)
- g_source_set_name_by_id (priv->about_to_sleep_id, "[UpDaemon] about-to-sleep no signal");
-#endif
- return;
- }
-
- /* about to sleep */
- elapsed = 1000.0f * g_timer_elapsed (priv->about_to_sleep_timer, NULL);
- g_debug ("between AboutToSleep() and %s was %fms", sleep->command, elapsed);
- if (elapsed < priv->conf_sleep_timeout) {
- /* we have to wait for the difference in time */
- priv->about_to_sleep_id = g_timeout_add (priv->conf_sleep_timeout - elapsed,
- (GSourceFunc) up_daemon_deferred_sleep_cb, sleep);
-#if GLIB_CHECK_VERSION(2,25,8)
- g_source_set_name_by_id (priv->about_to_sleep_id, "[UpDaemon] about-to-sleep less");
-#endif
- } else {
- /* we can do this straight away */
- priv->about_to_sleep_id = g_idle_add ((GSourceFunc) up_daemon_deferred_sleep_cb, sleep);
-#if GLIB_CHECK_VERSION(2,25,8)
- g_source_set_name_by_id (priv->about_to_sleep_id, "[UpDaemon] about-to-sleep more");
-#endif
- }
-}
-#endif
-
-/**
- * up_daemon_suspend:
- **/
-gboolean
-up_daemon_suspend (UpDaemon *daemon, DBusGMethodInvocation *context)
-{
- GError *error;
-#ifdef ENABLE_DEPRECATED
- PolkitSubject *subject = NULL;
- const gchar *command;
- UpDaemonPrivate *priv = daemon->priv;
-
- /* no kernel support */
- if (!priv->kernel_can_suspend) {
- error = g_error_new (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "No kernel support");
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- goto out;
- }
-
- subject = up_polkit_get_subject (priv->polkit, context);
- if (subject == NULL)
- goto out;
-
- if (!up_polkit_check_auth (priv->polkit, subject, "org.freedesktop.upower.suspend", context))
- goto out;
-
- /* already requested */
- if (priv->about_to_sleep_id != 0) {
- error = g_error_new (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "Sleep has already been requested and is pending");
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- goto out;
- }
-
- /* do this deferred action */
- priv->sleep_kind = "suspend";
- command = up_backend_get_suspend_command (priv->backend);
- up_daemon_deferred_sleep (daemon, command, context);
-out:
- if (subject != NULL)
- g_object_unref (subject);
- return TRUE;
-#else
- /* just return an error */
- error = g_error_new_literal (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "Method is deprecated, please port to org.freedesktop.login1.Manager.Suspend");
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- return FALSE;
-#endif
-}
-
-/**
- * up_daemon_suspend_allowed:
- **/
-gboolean
-up_daemon_suspend_allowed (UpDaemon *daemon, DBusGMethodInvocation *context)
-{
- GError *error;
-#ifdef ENABLE_DEPRECATED
- gboolean ret;
- PolkitSubject *subject = NULL;
- UpDaemonPrivate *priv = daemon->priv;
-
- subject = up_polkit_get_subject (priv->polkit, context);
- if (subject == NULL)
- goto out;
-
- error = NULL;
- ret = up_polkit_is_allowed (priv->polkit, subject, "org.freedesktop.upower.suspend", &error);
- if (error) {
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- }
- else {
- dbus_g_method_return (context, ret);
- }
-
-out:
- if (subject != NULL)
- g_object_unref (subject);
- return TRUE;
-#else
- /* just return an error */
- error = g_error_new_literal (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "Method is deprecated, please port to org.freedesktop.login1.Manager.CanSuspend");
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- return FALSE;
-#endif
-}
-
-#ifdef ENABLE_DEPRECATED
-/**
- * up_daemon_check_hibernate_swap:
- *
- * Check current memory usage whether we have enough swap space for
- * hibernate.
- **/
-static gboolean
-up_daemon_check_hibernate_swap (UpDaemon *daemon)
-{
- gfloat waterline;
-
- if (daemon->priv->kernel_can_hibernate) {
- waterline = up_backend_get_used_swap (daemon->priv->backend);
- if (waterline < UP_DAEMON_SWAP_WATERLINE) {
- g_debug ("enough swap to for hibernate");
- return TRUE;
- } else {
- g_debug ("not enough swap to hibernate");
- return FALSE;
- }
- }
-
- return FALSE;
-}
-#endif
-
-/**
- * up_daemon_hibernate:
- **/
-gboolean
-up_daemon_hibernate (UpDaemon *daemon, DBusGMethodInvocation *context)
-{
- GError *error;
-#ifdef ENABLE_DEPRECATED
- PolkitSubject *subject = NULL;
- const gchar *command;
- UpDaemonPrivate *priv = daemon->priv;
-
- /* no kernel support */
- if (!priv->kernel_can_hibernate) {
- error = g_error_new (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "No kernel support");
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- goto out;
- }
-
- /* enough swap? */
- if (!up_daemon_check_hibernate_swap (daemon)) {
- error = g_error_new (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "Not enough swap space");
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- goto out;
- }
-
- /* encrypted swap and no override? */
- if (priv->hibernate_has_encrypted_swap &&
- !priv->conf_allow_hibernate_encrypted_swap) {
- error = g_error_new (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "Swap space is encrypted, use AllowHibernateEncryptedSwap to override");
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- goto out;
- }
-
- subject = up_polkit_get_subject (priv->polkit, context);
- if (subject == NULL)
- goto out;
-
- if (!up_polkit_check_auth (priv->polkit, subject, "org.freedesktop.upower.hibernate", context))
- goto out;
-
- /* already requested */
- if (priv->about_to_sleep_id != 0) {
- error = g_error_new (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "Sleep has already been requested and is pending");
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- goto out;
- }
-
- /* do this deferred action */
- priv->sleep_kind = "hibernate";
- command = up_backend_get_hibernate_command (priv->backend);
- up_daemon_deferred_sleep (daemon, command, context);
-out:
- if (subject != NULL)
- g_object_unref (subject);
- return TRUE;
-#else
- /* just return an error */
- error = g_error_new_literal (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "Method is deprecated, please port to org.freedesktop.login1.Manager.Hibernate");
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- return FALSE;
-#endif
-}
-
-/**
- * up_daemon_hibernate_allowed:
- **/
-gboolean
-up_daemon_hibernate_allowed (UpDaemon *daemon, DBusGMethodInvocation *context)
-{
- GError *error;
-#ifdef ENABLE_DEPRECATED
- gboolean ret;
- PolkitSubject *subject = NULL;
- UpDaemonPrivate *priv = daemon->priv;
-
- subject = up_polkit_get_subject (priv->polkit, context);
- if (subject == NULL)
- goto out;
-
- error = NULL;
- ret = up_polkit_is_allowed (priv->polkit, subject, "org.freedesktop.upower.hibernate", &error);
- if (error) {
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- }
- else {
- dbus_g_method_return (context, ret);
- }
-
-out:
- if (subject != NULL)
- g_object_unref (subject);
- return TRUE;
-#else
- /* just return an error */
- error = g_error_new_literal (UP_DAEMON_ERROR,
- UP_DAEMON_ERROR_GENERAL,
- "Method is deprecated, please port to org.freedesktop.login1.Manager.CanHibernate");
- dbus_g_method_return_error (context, error);
- g_error_free (error);
- return FALSE;
-#endif
-}
-
-/**
* up_daemon_register_power_daemon:
**/
static gboolean
@@ -834,11 +342,6 @@ up_daemon_startup (UpDaemon *daemon)
priv->during_coldplug = FALSE;
g_debug ("daemon now not coldplug");
-#ifdef ENABLE_DEPRECATED
- /* set power policy */
- if (priv->conf_run_powersave_command)
- up_daemon_set_powersave (daemon, priv->on_battery);
-#endif
out:
return ret;
}
@@ -872,18 +375,6 @@ up_daemon_set_lid_is_closed (UpDaemon *daemon, gboolean lid_is_closed)
}
/**
- * up_daemon_set_lid_force_sleep:
- **/
-void
-up_daemon_set_lid_force_sleep (UpDaemon *daemon, gboolean lid_force_sleep)
-{
- UpDaemonPrivate *priv = daemon->priv;
- g_debug ("lid_force_sleep = %s", lid_force_sleep ? "yes" : "no");
- priv->lid_force_sleep = lid_force_sleep;
- g_object_notify (G_OBJECT (daemon), "lid-enforce-sleep");
-}
-
-/**
* up_daemon_set_lid_is_present:
**/
void
@@ -1008,12 +499,6 @@ up_daemon_device_changed_cb (UpDevice *device, UpDaemon *daemon)
ret = (up_daemon_get_on_battery_local (daemon) && !up_daemon_get_on_ac_local (daemon));
if (ret != priv->on_battery) {
up_daemon_set_on_battery (daemon, ret);
-
-#ifdef ENABLE_DEPRECATED
- /* set power policy */
- if (priv->conf_run_powersave_command)
- up_daemon_set_powersave (daemon, ret);
-#endif
}
ret = up_daemon_get_on_low_battery_local (daemon);
if (ret != priv->on_low_battery)
@@ -1155,10 +640,6 @@ up_daemon_init (UpDaemon *daemon)
daemon->priv->during_coldplug = FALSE;
daemon->priv->battery_poll_id = 0;
daemon->priv->battery_poll_count = 0;
-#ifdef ENABLE_DEPRECATED
- daemon->priv->conf_sleep_timeout = 1000;
- daemon->priv->conf_run_powersave_command = TRUE;
-#endif
/* load some values from the config file */
file = g_key_file_new ();
@@ -1171,14 +652,7 @@ up_daemon_init (UpDaemon *daemon)
}
ret = g_key_file_load_from_file (file, filename, G_KEY_FILE_NONE, &error);
if (ret) {
-#ifdef ENABLE_DEPRECATED
- daemon->priv->conf_sleep_timeout =
- g_key_file_get_integer (file, "UPower", "SleepTimeout", NULL);
- daemon->priv->conf_allow_hibernate_encrypted_swap =
- g_key_file_get_boolean (file, "UPower", "AllowHibernateEncryptedSwap", NULL);
- daemon->priv->conf_run_powersave_command =
- g_key_file_get_boolean (file, "UPower", "RunPowersaveCommand", NULL);
-#endif
+ /* FIXME: Do something? */
} else {
g_warning ("failed to load config file %s: %s", filename, error->message);
g_error_free (error);
@@ -1192,12 +666,6 @@ up_daemon_init (UpDaemon *daemon)
g_signal_connect (daemon->priv->backend, "device-removed",
G_CALLBACK (up_daemon_device_removed_cb), daemon);
- /* use a timer for the about-to-sleep logic */
-#ifdef ENABLE_DEPRECATED
- daemon->priv->about_to_sleep_timer = g_timer_new ();
- g_timer_stop (daemon->priv->about_to_sleep_timer);
-#endif
-
/* watch when these properties change */
g_signal_connect (daemon, "notify::lid-is-present",
G_CALLBACK (up_daemon_properties_changed_cb), daemon);
@@ -1207,16 +675,6 @@ up_daemon_init (UpDaemon *daemon)
G_CALLBACK (up_daemon_properties_changed_cb), daemon);
g_signal_connect (daemon, "notify::on-low-battery",
G_CALLBACK (up_daemon_properties_changed_cb), daemon);
-
- /* check if we have support */
-#ifdef ENABLE_DEPRECATED
- daemon->priv->kernel_can_suspend = up_backend_kernel_can_suspend (daemon->priv->backend);
- daemon->priv->kernel_can_hibernate = up_backend_kernel_can_hibernate (daemon->priv->backend);
-
- /* is the swap usable? */
- if (daemon->priv->kernel_can_hibernate)
- daemon->priv->hibernate_has_encrypted_swap = up_backend_has_encrypted_swap (daemon->priv->backend);
-#endif
}
/**
@@ -1266,23 +724,6 @@ up_daemon_get_property (GObject *object, guint prop_id, GValue *value, GParamSpe
case PROP_DAEMON_VERSION:
g_value_set_string (value, PACKAGE_VERSION);
break;
- case PROP_CAN_SUSPEND:
-#ifdef ENABLE_DEPRECATED
- g_value_set_boolean (value, priv->kernel_can_suspend);
-#else
- g_value_set_boolean (value, FALSE);
-#endif
- break;
- case PROP_CAN_HIBERNATE:
-#ifdef ENABLE_DEPRECATED
- g_value_set_boolean (value, (priv->kernel_can_hibernate &&
- up_daemon_check_hibernate_swap (daemon) &&
- (!priv->hibernate_has_encrypted_swap ||
- priv->conf_allow_hibernate_encrypted_swap)));
-#else
- g_value_set_boolean (value, FALSE);
-#endif
- break;
case PROP_ON_BATTERY:
g_value_set_boolean (value, priv->on_battery);
break;
@@ -1295,9 +736,6 @@ up_daemon_get_property (GObject *object, guint prop_id, GValue *value, GParamSpe
case PROP_LID_IS_PRESENT:
g_value_set_boolean (value, priv->lid_is_present);
break;
- case PROP_LID_FORCE_SLEEP:
- g_value_set_boolean (value, priv->lid_force_sleep);
- break;
case PROP_IS_DOCKED:
g_value_set_boolean (value, priv->is_docked);
break;
@@ -1351,38 +789,6 @@ up_daemon_class_init (UpDaemonClass *klass)
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
- signals[SIGNAL_SLEEPING] =
- g_signal_new ("sleeping",
- G_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
- 0, NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- signals[SIGNAL_NOTIFY_SLEEP] =
- g_signal_new ("notify-sleep",
- G_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
- 0, NULL, NULL,
- g_cclosure_marshal_VOID__STRING,
- G_TYPE_NONE, 1, G_TYPE_STRING);
-
- signals[SIGNAL_RESUMING] =
- g_signal_new ("resuming",
- G_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
- 0, NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- signals[SIGNAL_NOTIFY_RESUME] =
- g_signal_new ("notify-resume",
- G_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
- 0, NULL, NULL,
- g_cclosure_marshal_VOID__STRING,
- G_TYPE_NONE, 1, G_TYPE_STRING);
-
g_object_class_install_property (object_class,
PROP_DAEMON_VERSION,
g_param_spec_string ("daemon-version",
@@ -1400,14 +806,6 @@ up_daemon_class_init (UpDaemonClass *klass)
G_PARAM_READABLE));
g_object_class_install_property (object_class,
- PROP_LID_FORCE_SLEEP,
- g_param_spec_boolean ("lid-force-sleep",
- "Enforce sleep on lid close",
- "If this computer has to sleep on lid close",
- FALSE,
- G_PARAM_READABLE));
-
- g_object_class_install_property (object_class,
PROP_IS_DOCKED,
g_param_spec_boolean ("is-docked",
"Is docked",
@@ -1416,22 +814,6 @@ up_daemon_class_init (UpDaemonClass *klass)
G_PARAM_READABLE));
g_object_class_install_property (object_class,
- PROP_CAN_SUSPEND,
- g_param_spec_boolean ("can-suspend",
- "Can Suspend",
- "Whether the system can suspend",
- FALSE,
- G_PARAM_READABLE));
-
- g_object_class_install_property (object_class,
- PROP_CAN_HIBERNATE,
- g_param_spec_boolean ("can-hibernate",
- "Can Hibernate",
- "Whether the system can hibernate",
- FALSE,
- G_PARAM_READABLE));
-
- g_object_class_install_property (object_class,
PROP_ON_BATTERY,
g_param_spec_boolean ("on-battery",
"On Battery",
@@ -1480,9 +862,6 @@ up_daemon_finalize (GObject *object)
g_object_unref (priv->polkit);
g_object_unref (priv->config);
g_object_unref (priv->backend);
-#ifdef ENABLE_DEPRECATED
- g_timer_destroy (priv->about_to_sleep_timer);
-#endif
G_OBJECT_CLASS (up_daemon_parent_class)->finalize (object);
}
diff --git a/src/up-daemon.h b/src/up-daemon.h
index 9c81053..6d2e337 100644
--- a/src/up-daemon.h
+++ b/src/up-daemon.h
@@ -77,8 +77,6 @@ void up_daemon_set_lid_is_closed (UpDaemon *daemon,
gboolean lid_is_closed);
void up_daemon_set_lid_is_present (UpDaemon *daemon,
gboolean lid_is_present);
-void up_daemon_set_lid_force_sleep (UpDaemon *daemon,
- gboolean lid_force_sleep);
void up_daemon_set_is_docked (UpDaemon *daemon,
gboolean is_docked);
void up_daemon_set_on_battery (UpDaemon *daemon,
@@ -93,23 +91,6 @@ gboolean up_daemon_get_on_battery (UpDaemon *daemon,
DBusGMethodInvocation *context);
gboolean up_daemon_get_low_battery (UpDaemon *daemon,
DBusGMethodInvocation *context);
-gboolean up_daemon_suspend (UpDaemon *daemon,
- DBusGMethodInvocation *context);
-gboolean up_daemon_about_to_sleep (UpDaemon *daemon,
- const gchar *sleep_kind,
- DBusGMethodInvocation *context);
-gboolean up_daemon_suspend_allowed (UpDaemon *daemon,
- DBusGMethodInvocation *context);
-gboolean up_daemon_hibernate (UpDaemon *daemon,
- DBusGMethodInvocation *context);
-gboolean up_daemon_hibernate_allowed (UpDaemon *daemon,
- DBusGMethodInvocation *context);
-gboolean up_daemon_can_suspend (UpDaemon *daemon,
- gboolean interactive,
- DBusGMethodInvocation *context);
-gboolean up_daemon_can_hibernate (UpDaemon *daemon,
- gboolean interactive,
- DBusGMethodInvocation *context);
G_END_DECLS