diff options
Diffstat (limited to 'src/mm-iface-modem-sar.c')
-rw-r--r-- | src/mm-iface-modem-sar.c | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/src/mm-iface-modem-sar.c b/src/mm-iface-modem-sar.c index e03b1596..e8cbf698 100644 --- a/src/mm-iface-modem-sar.c +++ b/src/mm-iface-modem-sar.c @@ -35,24 +35,6 @@ mm_iface_modem_sar_bind_simple_status (MMIfaceModemSar *self, { } -gboolean -mm_iface_modem_get_sar_state (MMIfaceModemSar *self) -{ - MmGdbusModemSar *skeleton = NULL; - gboolean state; - - g_object_get (self, - MM_IFACE_MODEM_SAR_DBUS_SKELETON, &skeleton, - NULL); - - if (!skeleton) - return FALSE; - - state = mm_gdbus_modem_sar_get_state (skeleton); - g_object_unref (skeleton); - return state; -} - guint mm_iface_modem_sar_get_power_level (MMIfaceModemSar *self) { @@ -222,6 +204,15 @@ handle_set_power_level_auth_ready (MMBaseModem *self, return; } + if (!mm_gdbus_modem_sar_get_state (ctx->skeleton)) { + g_dbus_method_invocation_return_error (ctx->invocation, + MM_CORE_ERROR, + MM_CORE_ERROR_WRONG_STATE, + "Cannot set SAR power level: SAR is disabled"); + handle_set_power_level_context_free (ctx); + return; + } + mm_obj_dbg (self, "Set SAR power level to: '%d'", ctx->power_level); MM_IFACE_MODEM_SAR_GET_INTERFACE (ctx->self)->set_power_level ( ctx->self, |