summaryrefslogtreecommitdiff
path: root/gatchat/test-server.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2011-05-24 11:13:05 -0500
committerDenis Kenzior <denkenz@gmail.com>2011-05-24 12:25:08 -0500
commit1bd4f75ac0bc8368bb4118adb408cc6b95ed5568 (patch)
treed7d1987925b0e6723a7a2b548118248d9bfa5572 /gatchat/test-server.c
parent6d5b7d0bffa97fbf906ddaf011ef03f5f99c5af9 (diff)
downloadofono-1bd4f75ac0bc8368bb4118adb408cc6b95ed5568.tar.gz
test-server: Update to the new GAtPPP API
Diffstat (limited to 'gatchat/test-server.c')
-rw-r--r--gatchat/test-server.c42
1 files changed, 22 insertions, 20 deletions
diff --git a/gatchat/test-server.c b/gatchat/test-server.c
index 33372c8a..8eded1c6 100644
--- a/gatchat/test-server.c
+++ b/gatchat/test-server.c
@@ -151,21 +151,20 @@ static void ppp_disconnect(GAtPPPDisconnectReason reason, gpointer user)
data_mode = FALSE;
}
-static void setup_ppp(gpointer user)
+static void open_ppp(gpointer user)
{
- GAtServer *server = user;
- GAtIO *io;
-
- io = g_at_server_get_io(server);
+ GAtIO *io = g_at_server_get_io(server);
g_at_server_suspend(server);
+ g_at_ppp_listen(ppp, io);
+}
+static gboolean setup_ppp(GAtServer *server)
+{
/* open ppp */
- ppp = g_at_ppp_server_new_from_io(io, "192.168.1.1");
- if (ppp == NULL) {
- g_at_server_resume(server);
- return;
- }
+ ppp = g_at_ppp_server_new("192.168.1.1");
+ if (ppp == NULL)
+ return FALSE;
g_at_ppp_set_debug(ppp, server_debug, "PPP");
@@ -176,6 +175,8 @@ static void setup_ppp(gpointer user)
g_at_ppp_set_disconnect_function(ppp, ppp_disconnect, server);
g_at_ppp_set_server_info(ppp, "192.168.1.2",
"10.10.10.10", "10.10.10.11");
+
+ return TRUE;
}
static void cgmi_cb(GAtServer *server, GAtServerRequestType type,
@@ -547,26 +548,25 @@ 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_SUPPORT:
- g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR);
- break;
- case G_AT_SERVER_REQUEST_TYPE_QUERY:
- g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR);
- break;
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, setup_ppp, 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;
}
@@ -766,7 +766,6 @@ static void cpbs_cb(GAtServer *server, GAtServerRequestType type,
static void dial_cb(GAtServer *server, GAtServerRequestType type,
GAtResult *cmd, gpointer user)
{
- GAtServerResult res = G_AT_SERVER_RESULT_ERROR;
GAtResultIter iter;
const char *dial_str;
char c;
@@ -787,15 +786,18 @@ static void dial_cb(GAtServer *server, GAtServerRequestType type,
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, setup_ppp, server);
+ g_at_io_set_write_done(io, open_ppp, server);
}
return;
error:
- g_at_server_send_final(server, res);
+ g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR);
}
static void add_handler(GAtServer *server)