static void cgdata_cb(GAtServer *server, GAtServerRequestType type, GAtResult *cmd, gpointer user) { GAtIO *io; if (modem_mode == 0) { g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); return; } switch (type) { case G_AT_SERVER_REQUEST_TYPE_SET: if (setup_ppp(server) == FALSE) goto error; g_at_server_send_intermediate(server, "CONNECT"); data_mode = TRUE; io = g_at_server_get_io(server); g_at_io_set_write_done(io, open_ppp, server); break; default: error: g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); break; } }
static void at_cgdata_cb(gboolean ok, GAtResult *result, gpointer user_data) { struct ofono_gprs_context *gc = user_data; struct gprs_context_data *gcd = ofono_gprs_context_get_data(gc); if (!ok) { struct ofono_error error; ofono_info("Unable to enter data state"); gcd->active_context = 0; gcd->state = STATE_IDLE; decode_at_error(&error, g_at_result_final_response(result)); gcd->up_cb(&error, NULL, 0, NULL, NULL, NULL, NULL, gcd->cb_data); return; } setup_ppp(gc); }
static void atd_cb(gboolean ok, GAtResult *result, gpointer user_data) { struct ofono_cdma_connman *cm = user_data; struct connman_data *cd = ofono_cdma_connman_get_data(cm); DBG("ok %d", ok); if (ok == FALSE) { struct ofono_error error; ofono_info("Unable to enter data state"); cd->state = STATE_IDLE; decode_at_error(&error, g_at_result_final_response(result)); cd->up_cb(&error, NULL, 0, NULL, NULL, NULL, NULL, cd->cb_data); return; } setup_ppp(cm); }
static void dial_cb(GAtServer *server, GAtServerRequestType type, GAtResult *cmd, gpointer user) { GAtResultIter iter; const char *dial_str; char c; if (type != G_AT_SERVER_REQUEST_TYPE_SET) goto error; g_at_result_iter_init(&iter, cmd); g_at_result_iter_next(&iter, ""); dial_str = g_at_result_iter_raw_line(&iter); if (dial_str == NULL) goto error; g_print("dial call %s\n", dial_str); c = *dial_str; if (c == '*' || c == '#' || c == 'T' || c == 't') { GAtIO *io = g_at_server_get_io(server); if (setup_ppp(server) == FALSE) goto error; g_at_server_send_intermediate(server, "CONNECT"); data_mode = TRUE; g_at_io_set_write_done(io, open_ppp, server); } return; error: g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); }