diff options
author | Aleksander Morgado <aleksandermj@chromium.org> | 2022-09-12 13:26:29 +0000 |
---|---|---|
committer | Aleksander Morgado <aleksandermj@chromium.org> | 2022-11-04 13:12:57 +0000 |
commit | 5c604d9d35e9b63675daf8e9a2b5372d487d1a11 (patch) | |
tree | ae2bc569de1b43fc06f2a8cacac643b64f500447 /src | |
parent | d4c0af9128df017655c54ee420898ec6b26b56a4 (diff) |
iface-modem: improve logging of user request to set current modes
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-iface-modem.c | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c index bc215b3d..5be1bb8e 100644 --- a/src/mm-iface-modem.c +++ b/src/mm-iface-modem.c @@ -3401,35 +3401,45 @@ mm_iface_modem_set_current_modes (MMIfaceModem *self, task); } +/*****************************************************************************/ + typedef struct { - MmGdbusModem *skeleton; + MmGdbusModem *skeleton; GDBusMethodInvocation *invocation; - MMIfaceModem *self; - MMModemMode allowed; - MMModemMode preferred; + MMIfaceModem *self; + MMModemMode allowed; + MMModemMode preferred; + gchar *allowed_str; + gchar *preferred_str; } HandleSetCurrentModesContext; static void handle_set_current_modes_context_free (HandleSetCurrentModesContext *ctx) { + g_free (ctx->preferred_str); + g_free (ctx->allowed_str); g_object_unref (ctx->skeleton); g_object_unref (ctx->invocation); g_object_unref (ctx->self); - g_free (ctx); + g_slice_free (HandleSetCurrentModesContext, ctx); } static void -handle_set_current_modes_ready (MMIfaceModem *self, - GAsyncResult *res, +handle_set_current_modes_ready (MMIfaceModem *self, + GAsyncResult *res, HandleSetCurrentModesContext *ctx) { GError *error = NULL; - if (!mm_iface_modem_set_current_modes_finish (self, res, &error)) + if (!mm_iface_modem_set_current_modes_finish (self, res, &error)) { + mm_obj_warn (self, "failed setting current modes to '%s' (preferred '%s'): %s", + ctx->allowed_str, ctx->preferred_str, error->message); 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_obj_info (self, "current modes set to '%s' (preferred '%s')", + ctx->allowed_str, ctx->preferred_str); mm_gdbus_modem_complete_set_current_modes (ctx->skeleton, ctx->invocation); } @@ -3437,8 +3447,8 @@ handle_set_current_modes_ready (MMIfaceModem *self, } static void -handle_set_current_modes_auth_ready (MMBaseModem *self, - GAsyncResult *res, +handle_set_current_modes_auth_ready (MMBaseModem *self, + GAsyncResult *res, HandleSetCurrentModesContext *ctx) { GError *error = NULL; @@ -3454,6 +3464,10 @@ handle_set_current_modes_auth_ready (MMBaseModem *self, return; } + ctx->allowed_str = mm_modem_mode_build_string_from_mask (ctx->allowed); + ctx->preferred_str = mm_modem_mode_build_string_from_mask (ctx->preferred); + mm_obj_info (self, "processing user request to set current modes to '%s' (preferred '%s')...", + ctx->allowed_str, ctx->preferred_str); mm_iface_modem_set_current_modes (MM_IFACE_MODEM (self), ctx->allowed, ctx->preferred, @@ -3462,14 +3476,14 @@ handle_set_current_modes_auth_ready (MMBaseModem *self, } static gboolean -handle_set_current_modes (MmGdbusModem *skeleton, +handle_set_current_modes (MmGdbusModem *skeleton, GDBusMethodInvocation *invocation, - GVariant *variant, - MMIfaceModem *self) + GVariant *variant, + MMIfaceModem *self) { HandleSetCurrentModesContext *ctx; - ctx = g_new (HandleSetCurrentModesContext, 1); + ctx = g_slice_new0 (HandleSetCurrentModesContext); ctx->skeleton = g_object_ref (skeleton); ctx->invocation = g_object_ref (invocation); ctx->self = g_object_ref (self); |