From da7d3ed5e1f46a582e2d099664561490f5a01f14 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Fri, 27 Mar 2015 09:46:00 -0400 Subject: [PATCH] core: port nm-sleep-monitor-upower to gdbus --- src/nm-sleep-monitor-upower.c | 49 ++++++++++++++++------------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/src/nm-sleep-monitor-upower.c b/src/nm-sleep-monitor-upower.c index 7acdd83084..a9abb08b02 100644 --- a/src/nm-sleep-monitor-upower.c +++ b/src/nm-sleep-monitor-upower.c @@ -22,10 +22,9 @@ #include #include #include -#include #include #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