zte: implement access technology loading
This commit is contained in:
@@ -759,4 +759,3 @@ mm_modem_zte_class_init (MMModemZteClass *klass)
|
|||||||
gsm_class->get_allowed_mode = get_allowed_mode;
|
gsm_class->get_allowed_mode = get_allowed_mode;
|
||||||
gsm_class->get_access_technology = get_access_technology;
|
gsm_class->get_access_technology = get_access_technology;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -242,6 +242,45 @@ set_allowed_modes (MMIfaceModem *self,
|
|||||||
g_free (command);
|
g_free (command);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* Load access technology (Modem interface) */
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
load_access_technologies_finish (MMIfaceModem *self,
|
||||||
|
GAsyncResult *res,
|
||||||
|
MMModemAccessTechnology *access_technologies,
|
||||||
|
guint *mask,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
const gchar *response;
|
||||||
|
|
||||||
|
response = mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, error);
|
||||||
|
if (!response)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
/* Sample response from an MF626:
|
||||||
|
* +ZPAS: "GPRS/EDGE","CS_ONLY"
|
||||||
|
*/
|
||||||
|
response = mm_strip_tag (response, "+ZPAS:");
|
||||||
|
*access_technologies = mm_string_to_access_tech (response);
|
||||||
|
*mask = MM_IFACE_MODEM_3GPP_ALL_ACCESS_TECHNOLOGIES_MASK;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
load_access_technologies (MMIfaceModem *self,
|
||||||
|
GAsyncReadyCallback callback,
|
||||||
|
gpointer user_data)
|
||||||
|
{
|
||||||
|
mm_base_modem_at_command (MM_BASE_MODEM (self),
|
||||||
|
"+ZPAS?",
|
||||||
|
3,
|
||||||
|
FALSE,
|
||||||
|
callback,
|
||||||
|
user_data);
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Setup/Cleanup unsolicited events (3GPP interface) */
|
/* Setup/Cleanup unsolicited events (3GPP interface) */
|
||||||
|
|
||||||
@@ -461,6 +500,8 @@ finalize (GObject *object)
|
|||||||
static void
|
static void
|
||||||
iface_modem_init (MMIfaceModem *iface)
|
iface_modem_init (MMIfaceModem *iface)
|
||||||
{
|
{
|
||||||
|
iface->load_access_technologies = load_access_technologies;
|
||||||
|
iface->load_access_technologies_finish = load_access_technologies_finish;
|
||||||
iface->load_allowed_modes = load_allowed_modes;
|
iface->load_allowed_modes = load_allowed_modes;
|
||||||
iface->load_allowed_modes_finish = load_allowed_modes_finish;
|
iface->load_allowed_modes_finish = load_allowed_modes_finish;
|
||||||
iface->set_allowed_modes = set_allowed_modes;
|
iface->set_allowed_modes = set_allowed_modes;
|
||||||
|
Reference in New Issue
Block a user