aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2017-05-30 20:09:56 +0200
committerAleksander Morgado <aleksander@aleksander.es>2017-06-06 15:20:56 +0200
commit2c19b1f778af9b0e4200b063d3d0ed064c17b6b1 (patch)
tree62703d49c1fb5ff9517a5a018c286889c83725ba /src
parent8ad868cea27f2ab043e5dfb544d5d70de34f60c2 (diff)
iface-modem: if bands, capabilities or modes change, refresh signal
We also remove the explicit refresh request from the Cinterion plugin, as this is a generic action applicable to all modems that require polling for signal quality and/or access technology.
Diffstat (limited to 'src')
-rw-r--r--src/mm-iface-modem.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index 223f2785..7f040d1d 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -2058,8 +2058,12 @@ set_current_capabilities_ready (MMIfaceModem *self,
if (!MM_IFACE_MODEM_GET_INTERFACE (self)->set_current_capabilities_finish (self, res, &error))
g_dbus_method_invocation_take_error (ctx->invocation, error);
- else
+ else {
+ /* Capabilities updated: explicitly refresh signal and access technology */
+ mm_iface_modem_refresh_signal (self);
mm_gdbus_modem_complete_set_current_capabilities (ctx->skeleton, ctx->invocation);
+ }
+
handle_set_current_capabilities_context_free (ctx);
}
@@ -2436,8 +2440,11 @@ handle_set_current_bands_ready (MMIfaceModem *self,
if (!mm_iface_modem_set_current_bands_finish (self, res, &error))
g_dbus_method_invocation_take_error (ctx->invocation, error);
- else
+ else {
+ /* Bands updated: explicitly refresh signal and access technology */
+ mm_iface_modem_refresh_signal (self);
mm_gdbus_modem_complete_set_current_bands (ctx->skeleton, ctx->invocation);
+ }
handle_set_current_bands_context_free (ctx);
}
@@ -2752,8 +2759,11 @@ handle_set_current_modes_ready (MMIfaceModem *self,
if (!mm_iface_modem_set_current_modes_finish (self, res, &error))
g_dbus_method_invocation_take_error (ctx->invocation, error);
- else
+ else {
+ /* Modes updated: explicitly refresh signal and access technology */
+ mm_iface_modem_refresh_signal (self);
mm_gdbus_modem_complete_set_current_modes (ctx->skeleton, ctx->invocation);
+ }
handle_set_current_modes_context_free (ctx);
}