mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-09 06:10:29 +01:00
core: port nm-sleep-monitor-upower to gdbus
This commit is contained in:
parent
2e8acfa9d8
commit
da7d3ed5e1
1 changed files with 23 additions and 26 deletions
|
|
@ -22,10 +22,9 @@
|
|||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
#include <dbus/dbus-glib.h>
|
||||
#include <gio/gio.h>
|
||||
#include "nm-logging.h"
|
||||
#include "nm-dbus-manager.h"
|
||||
#include "nm-core-internal.h"
|
||||
|
||||
#include "nm-sleep-monitor.h"
|
||||
|
||||
|
|
@ -34,7 +33,7 @@
|
|||
struct _NMSleepMonitor {
|
||||
GObject parent_instance;
|
||||
|
||||
DBusGProxy *upower_proxy;
|
||||
GDBusProxy *upower_proxy;
|
||||
};
|
||||
|
||||
struct _NMSleepMonitorClass {
|
||||
|
|
@ -57,14 +56,14 @@ G_DEFINE_TYPE (NMSleepMonitor, nm_sleep_monitor, G_TYPE_OBJECT);
|
|||
/********************************************************************/
|
||||
|
||||
static void
|
||||
upower_sleeping_cb (DBusGProxy *proxy, gpointer user_data)
|
||||
upower_sleeping_cb (GDBusProxy *proxy, gpointer user_data)
|
||||
{
|
||||
nm_log_dbg (LOGD_SUSPEND, "Received UPower sleeping signal");
|
||||
g_signal_emit (user_data, signals[SLEEPING], 0);
|
||||
}
|
||||
|
||||
static void
|
||||
upower_resuming_cb (DBusGProxy *proxy, gpointer user_data)
|
||||
upower_resuming_cb (GDBusProxy *proxy, gpointer user_data)
|
||||
{
|
||||
nm_log_dbg (LOGD_SUSPEND, "Received UPower resuming signal");
|
||||
g_signal_emit (user_data, signals[RESUMING], 0);
|
||||
|
|
@ -73,25 +72,25 @@ upower_resuming_cb (DBusGProxy *proxy, gpointer user_data)
|
|||
static void
|
||||
nm_sleep_monitor_init (NMSleepMonitor *self)
|
||||
{
|
||||
DBusGConnection *bus;
|
||||
GError *error = NULL;
|
||||
|
||||
bus = nm_dbus_manager_get_connection (nm_dbus_manager_get ());
|
||||
self->upower_proxy = dbus_g_proxy_new_for_name (bus,
|
||||
UPOWER_DBUS_SERVICE,
|
||||
"/org/freedesktop/UPower",
|
||||
"org.freedesktop.UPower");
|
||||
self->upower_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
|
||||
G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START |
|
||||
G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
|
||||
NULL,
|
||||
UPOWER_DBUS_SERVICE,
|
||||
"/org/freedesktop/UPower",
|
||||
"org.freedesktop.UPower",
|
||||
NULL, &error);
|
||||
if (self->upower_proxy) {
|
||||
dbus_g_proxy_add_signal (self->upower_proxy, "Sleeping", G_TYPE_INVALID);
|
||||
dbus_g_proxy_connect_signal (self->upower_proxy, "Sleeping",
|
||||
G_CALLBACK (upower_sleeping_cb),
|
||||
self, NULL);
|
||||
|
||||
dbus_g_proxy_add_signal (self->upower_proxy, "Resuming", G_TYPE_INVALID);
|
||||
dbus_g_proxy_connect_signal (self->upower_proxy, "Resuming",
|
||||
G_CALLBACK (upower_resuming_cb),
|
||||
self, NULL);
|
||||
} else
|
||||
nm_log_warn (LOGD_SUSPEND, "could not initialize UPower D-Bus proxy");
|
||||
_nm_dbus_signal_connect (self->upower_proxy, "Sleeping", NULL,
|
||||
G_CALLBACK (upower_sleeping_cb), self);
|
||||
_nm_dbus_signal_connect (self->upower_proxy, "Resuming", NULL,
|
||||
G_CALLBACK (upower_resuming_cb), self);
|
||||
} else {
|
||||
nm_log_warn (LOGD_SUSPEND, "could not initialize UPower D-Bus proxy: %s", error->message);
|
||||
g_error_free (error);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -99,11 +98,9 @@ finalize (GObject *object)
|
|||
{
|
||||
NMSleepMonitor *self = NM_SLEEP_MONITOR (object);
|
||||
|
||||
if (self->upower_proxy)
|
||||
g_object_unref (self->upower_proxy);
|
||||
g_clear_object (&self->upower_proxy);
|
||||
|
||||
if (G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->finalize != NULL)
|
||||
G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->finalize (object);
|
||||
G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue