diff options
author | Dan Williams <dan@ioncontrol.co> | 2025-05-01 07:59:38 -0500 |
---|---|---|
committer | Dan Williams <dan@ioncontrol.co> | 2025-05-08 20:08:06 -0500 |
commit | 1fa21fcc48b271a8dc2191104e35bf4e95fa2331 (patch) | |
tree | cf209fc07098e68c65dca219fee38a826dbcbf1a /src/mm-broadband-modem.c | |
parent | ec5104c9a87a440bb791987ffe05e53bf235ae02 (diff) |
base-cbm,cbm-list,iface-cbm: remove usage of MMBaseModem
CBM isn't as complicated as SMS, and the CBM class itself doesn't
need to be overridden by QMI/MBIM/etc. Now that the log parent
and connection binding no longer require MMBaseModem we can flatten
the CBM object creation and remove usage of MMBaseModem.
Signed-off-by: Dan Williams <dan@ioncontrol.co>
Diffstat (limited to 'src/mm-broadband-modem.c')
-rw-r--r-- | src/mm-broadband-modem.c | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index 2ccde45e..16d579c7 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -10606,7 +10606,7 @@ cbc_cbm_received (MMPortSerialAt *port, GMatchInfo *info, MMBroadbandModem *self) { - GError *error = NULL; + g_autoptr(GError) error = NULL; MMCbmPart *part; guint length; gchar *pdu; @@ -10621,15 +10621,19 @@ cbc_cbm_received (MMPortSerialAt *port, return; part = mm_cbm_part_new_from_pdu (pdu, self, &error); - if (part) { - mm_obj_dbg (self, "correctly parsed PDU"); - mm_iface_modem_cell_broadcast_take_part (MM_IFACE_MODEM_CELL_BROADCAST (self), - part, - MM_CBM_STATE_RECEIVED); - } else { + if (!part) { /* Don't treat the error as critical */ mm_obj_dbg (self, "error parsing PDU: %s", error->message); - g_error_free (error); + } else { + mm_obj_dbg (self, "correctly parsed PDU"); + if (!mm_iface_modem_cell_broadcast_take_part (MM_IFACE_MODEM_CELL_BROADCAST (self), + G_OBJECT (self), + part, + MM_CBM_STATE_RECEIVED, + &error)) { + /* Don't treat the error as critical */ + mm_obj_dbg (self, "error adding CBM: %s", error->message); + } } } @@ -10686,15 +10690,6 @@ modem_cell_broadcast_cleanup_unsolicited_events (MMIfaceModemCellBroadcast *self set_cell_broadcast_unsolicited_events_handlers (self, FALSE, callback, user_data); } -/*****************************************************************************/ -/* Create CBM (CellBroadcast interface) */ - -static MMBaseCbm * -modem_cell_broadcast_create_cbm (MMIfaceModemCellBroadcast *self) -{ - return mm_base_cbm_new (MM_BASE_MODEM (self), G_OBJECT (self)); -} - /***********************************************************************************/ /* Get channels (CellBroadcast interface) */ @@ -14507,7 +14502,6 @@ iface_modem_cell_broadcast_init (MMIfaceModemCellBroadcastInterface *iface) iface->cleanup_unsolicited_events_finish = modem_cell_broadcast_setup_cleanup_unsolicited_events_finish; iface->set_channels = modem_cell_broadcast_set_channels; iface->set_channels_finish = modem_cell_broadcast_set_channels_finish; - iface->create_cbm = modem_cell_broadcast_create_cbm; } static void |