aboutsummaryrefslogtreecommitdiff
path: root/src/mm-broadband-modem.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-broadband-modem.c')
-rw-r--r--src/mm-broadband-modem.c34
1 files changed, 16 insertions, 18 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c
index 6eb04fe2..16d579c7 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -63,6 +63,7 @@
#include "libqcdm/src/logs.h"
#include "libqcdm/src/log-items.h"
#include "mm-helper-enums-types.h"
+#include "mm-bind.h"
static void iface_modem_init (MMIfaceModemInterface *iface);
static void iface_modem_3gpp_init (MMIfaceModem3gppInterface *iface);
@@ -504,6 +505,7 @@ modem_create_sim (MMIfaceModem *self,
{
/* New generic SIM */
mm_base_sim_new (MM_BASE_MODEM (self),
+ G_OBJECT (self),
NULL, /* cancellable */
callback,
user_data);
@@ -5905,6 +5907,7 @@ modem_3gpp_create_initial_eps_bearer (MMIfaceModem3gpp *self,
* attempt connection through this bearer object. */
bearer = g_object_new (MM_TYPE_BASE_BEARER,
MM_BASE_BEARER_MODEM, MM_BASE_MODEM (self),
+ MM_BIND_TO, G_OBJECT (self),
MM_BASE_BEARER_CONFIG, config,
"bearer-type", MM_BEARER_TYPE_DEFAULT_ATTACH,
"connected", TRUE,
@@ -8896,6 +8899,7 @@ modem_voice_create_call (MMIfaceModemVoice *_self,
MMBroadbandModem *self = MM_BROADBAND_MODEM (_self);
return mm_base_call_new (MM_BASE_MODEM (self),
+ G_OBJECT (self),
direction,
number,
/* If +CLCC is supported, we want no incoming timeout.
@@ -10602,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;
@@ -10617,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);
+ }
}
}
@@ -10682,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));
-}
-
/***********************************************************************************/
/* Get channels (CellBroadcast interface) */
@@ -14503,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