Add disconnect callback handling to Novatel plugin

This commit is contained in:
Marcel Holtmann 2010-06-05 22:37:02 -07:00
parent e92040671d
commit 4f4565b33a
1 changed files with 16 additions and 0 deletions

View File

@ -175,6 +175,19 @@ error:
nwdmat_action(FALSE, result, user_data);
}
static void novatel_disconnect(gpointer user_data)
{
struct ofono_modem *modem = user_data;
struct novatel_data *data = ofono_modem_get_data(modem);
DBG("");
g_at_chat_unref(data->primary);
data->primary = NULL;
ofono_info("Channel disconnected");
}
static int novatel_enable(struct ofono_modem *modem)
{
struct novatel_data *data = ofono_modem_get_data(modem);
@ -203,6 +216,9 @@ static int novatel_enable(struct ofono_modem *modem)
if (getenv("OFONO_AT_DEBUG"))
g_at_chat_set_debug(data->primary, novatel_debug, "1st:");
g_at_chat_set_disconnect_function(data->primary,
novatel_disconnect, modem);
g_at_chat_send(data->primary, "ATE0 +CMEE=1", none_prefix,
NULL, NULL, NULL);