From d7022b50e68e7589f707e3d190db24ae55ee4427 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Wed, 11 Mar 2015 19:47:06 +0000 Subject: [PATCH] Emit ::Changed() when devices are added or removed This allows clients to reget any available updates. --- src/fu-main.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/fu-main.c b/src/fu-main.c index 635f97202..82e6b5142 100644 --- a/src/fu-main.c +++ b/src/fu-main.c @@ -62,6 +62,23 @@ typedef struct { FuProvider *provider; } FuDeviceItem; +/** + * fu_main_emit_changed: + **/ +static void +fu_main_emit_changed (FuMainPrivate *priv) +{ + /* not yet connected */ + if (priv->connection == NULL) + return; + g_dbus_connection_emit_signal (priv->connection, + NULL, + FWUPD_DBUS_PATH, + FWUPD_DBUS_INTERFACE, + "Changed", + NULL, NULL); +} + /** * fu_main_emit_property_changed: **/ @@ -802,6 +819,7 @@ cd_main_provider_device_added_cb (FuProvider *provider, item->device = g_object_ref (device); item->provider = g_object_ref (provider); g_ptr_array_add (priv->devices, item); + fu_main_emit_changed (priv); } /** @@ -821,6 +839,7 @@ cd_main_provider_device_removed_cb (FuProvider *provider, return; } g_ptr_array_remove (priv->devices, item); + fu_main_emit_changed (priv); } /**