broadband-modem: on mixed CDMA+LTE modems, guess which kind of bearer to create

This commit is contained in:
Aleksander Morgado
2012-01-12 10:57:05 +01:00
parent 744fe5712d
commit 8782df1b15

View File

@@ -239,16 +239,25 @@ modem_create_bearer (MMIfaceModem *self,
return; return;
} }
/* On mixed LTE and CDMA modems, we'll default to building a 3GPP bearer. /* On mixed LTE and CDMA modems, we'll build a 3GPP bearer if 'apn' was
* given, and a CDMA bearer otherwise.
* Plugins supporting mixed LTE+CDMA modems can override this and provide * Plugins supporting mixed LTE+CDMA modems can override this and provide
* their own specific and detailed logic. */ * their own specific and detailed logic. */
if (mm_iface_modem_is_cdma (self) && if (mm_iface_modem_is_cdma (self) &&
mm_iface_modem_is_3gpp_lte (self)) { mm_iface_modem_is_3gpp_lte (self)) {
mm_dbg ("Creating 3GPP Bearer in mixed CDMA+LTE modem"); if (mm_common_bearer_properties_get_apn (properties)) {
mm_iface_modem_3gpp_create_bearer (MM_IFACE_MODEM_3GPP (self), mm_dbg ("Creating 3GPP Bearer in mixed CDMA+LTE modem");
properties, mm_iface_modem_3gpp_create_bearer (MM_IFACE_MODEM_3GPP (self),
(GAsyncReadyCallback)modem_3gpp_create_bearer_ready, properties,
result); (GAsyncReadyCallback)modem_3gpp_create_bearer_ready,
result);
} else {
mm_dbg ("Creating CDMA Bearer in mixed CDMA+LTE modem");
mm_iface_modem_cdma_create_bearer (MM_IFACE_MODEM_CDMA (self),
properties,
(GAsyncReadyCallback)modem_cdma_create_bearer_ready,
result);
}
return; return;
} }