static void modem_load_access_technologies (MMIfaceModem *self, GAsyncReadyCallback callback, gpointer user_data) { GSimpleAsyncResult *result; result = g_simple_async_result_new (G_OBJECT (self), callback, user_data, modem_load_access_technologies); /* CDMA-only modems defer to parent for generic access technology * checking, but can determine EVDOr0 vs. EVDOrA through proprietary * QCDM commands. */ if (mm_iface_modem_is_cdma_only (self)) { iface_modem_parent->load_access_technologies ( self, (GAsyncReadyCallback)parent_load_access_technologies_ready, result); return; } mm_base_modem_at_command ( MM_BASE_MODEM (self), "$CNTI=0", 3, FALSE, (GAsyncReadyCallback)cnti_set_ready, result); }
static void modem_power_down (MMIfaceModem *self, GAsyncReadyCallback callback, gpointer user_data) { GSimpleAsyncResult *result; result = g_simple_async_result_new (G_OBJECT (self), callback, user_data, mm_common_sierra_modem_power_up); /* For CDMA modems, run !pcstate */ if (mm_iface_modem_is_cdma_only (self)) { mm_base_modem_at_command (MM_BASE_MODEM (self), "!pcstate=0", 5, FALSE, (GAsyncReadyCallback)modem_power_down_ready, result); return; } /* For GSM modems, run AT+CFUN=4 (power save) */ mm_base_modem_at_command (MM_BASE_MODEM (self), "+CFUN=4", 3, FALSE, (GAsyncReadyCallback)modem_power_down_ready, result); }