Beispiel #1
0
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;
	}
}
Beispiel #2
0
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);
}
Beispiel #3
0
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);
}
Beispiel #4
0
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);
}