From ef49d65b70c802deb8f634744a1c108c78a9146d Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Mon, 28 Feb 2011 16:10:43 -0600 Subject: gsmdial: Introduce data_mode If we're in PPP mode, then don't send unsolicited notifications. Only a NO CARRIER is really allowed. --- gatchat/test-server.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gatchat/test-server.c b/gatchat/test-server.c index e2776872..21d3a6b2 100644 --- a/gatchat/test-server.c +++ b/gatchat/test-server.c @@ -52,6 +52,7 @@ #define DEFAULT_SOCK_PATH "./server_sock" #define IFCONFIG_PATH "/sbin/ifconfig" +static gboolean data_mode = FALSE; static int modem_mode = 0; static int modem_creg = 0; static int modem_cgreg = 0; @@ -147,6 +148,7 @@ static void ppp_disconnect(GAtPPPDisconnectReason reason, gpointer user) g_at_server_set_debug(server, server_debug, "Server"); g_at_server_send_final(server, G_AT_SERVER_RESULT_NO_CARRIER); + data_mode = FALSE; } static gboolean update_ppp(gpointer user) @@ -341,6 +343,9 @@ static gboolean do_netreg(gpointer user) GAtServer *server = user; char buf[32]; + if (data_mode) + return FALSE; + network_status = 1; switch (modem_creg) { @@ -566,6 +571,7 @@ static void cgdata_cb(GAtServer *server, GAtServerRequestType type, break; case G_AT_SERVER_REQUEST_TYPE_SET: 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); @@ -792,6 +798,7 @@ static void dial_cb(GAtServer *server, GAtServerRequestType type, GAtIO *io = g_at_server_get_io(server); g_at_server_send_intermediate(server, "CONNECT"); + data_mode = TRUE; g_at_io_set_write_done(io, setup_ppp, server); } -- cgit v1.2.3