diff options
author | Denis Kenzior <denkenz@gmail.com> | 2011-02-28 16:10:43 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-02-28 16:13:56 -0600 |
commit | ef49d65b70c802deb8f634744a1c108c78a9146d (patch) | |
tree | 2134f5a6d6abda182b97a921807061fa2cd97913 | |
parent | 51d950994d2fd8c2c6a9dc7ce59c80a166502fc8 (diff) | |
download | ofono-ef49d65b70c802deb8f634744a1c108c78a9146d.tar.bz2 |
gsmdial: Introduce data_mode
If we're in PPP mode, then don't send unsolicited notifications. Only a
NO CARRIER is really allowed.
-rw-r--r-- | gatchat/test-server.c | 7 |
1 files changed, 7 insertions, 0 deletions
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); } |