gathdlc: add g_at_hdlc_resume() API

This commit is contained in:
Guillaume Zajac 2011-05-20 11:38:12 +02:00 committed by Denis Kenzior
parent a8e58a5f39
commit ce71d75675
2 changed files with 17 additions and 0 deletions

View File

@ -622,3 +622,19 @@ void g_at_hdlc_suspend(GAtHDLC *hdlc)
g_at_io_set_write_handler(hdlc->io, NULL, NULL);
g_at_io_set_read_handler(hdlc->io, NULL, NULL);
}
static void hdlc_wakeup_writer(GAtHDLC *hdlc)
{
g_at_io_set_write_handler(hdlc->io, can_write_data, hdlc);
}
void g_at_hdlc_resume(GAtHDLC *hdlc)
{
if (hdlc == NULL)
return;
g_at_io_set_read_handler(hdlc->io, new_bytes, hdlc);
if (g_queue_get_length(hdlc->write_queue) > 0)
hdlc_wakeup_writer(hdlc);
}

View File

@ -61,6 +61,7 @@ void g_at_hdlc_set_suspend_function(GAtHDLC *hdlc, GAtSuspendFunc func,
gpointer user_data);
void g_at_hdlc_suspend(GAtHDLC *hdlc);
void g_at_hdlc_resume(GAtHDLC *hdlc);
#ifdef __cplusplus
}