From cc1bb46ffadaf41e3c501cc03eeabb9c1ba5ee08 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Wed, 31 Mar 2010 18:47:30 -0500 Subject: [PATCH] Refactor: Use GAtDisconnectFunc for ppp disconnect The ppp argument to the current disconnect callback is useless as the ppp structure is most likely stored in user data anyway. --- gatchat/gatppp.c | 10 ++++++---- gatchat/gatppp.h | 7 +++---- gatchat/ppp.c | 2 +- gatchat/ppp.h | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c index 7afff53..556387a 100644 --- a/gatchat/gatppp.c +++ b/gatchat/gatppp.c @@ -59,11 +59,13 @@ void g_at_ppp_set_connect_function(GAtPPP *ppp, GAtPPPConnectFunc func, ppp->connect_data = user_data; } -void g_at_ppp_set_disconnect_function(GAtPPP *ppp, - GAtPPPDisconnectFunc callback, - gpointer user_data) +void g_at_ppp_set_disconnect_function(GAtPPP *ppp, GAtDisconnectFunc func, + gpointer user_data) { - ppp->disconnect_cb = callback; + if (func == NULL) + return; + + ppp->disconnect_cb = func; ppp->disconnect_data = user_data; } diff --git a/gatchat/gatppp.h b/gatchat/gatppp.h index 41aadca..b37f74d 100644 --- a/gatchat/gatppp.h +++ b/gatchat/gatppp.h @@ -26,6 +26,8 @@ extern "C" { #endif +#include "gat.h" + struct _GAtPPP; typedef struct _GAtPPP GAtPPP; @@ -39,14 +41,11 @@ typedef void (*GAtPPPConnectFunc)(GAtPPPConnectStatus success, const char *dns1, const char *dns2, gpointer user_data); -typedef void (*GAtPPPDisconnectFunc)(GAtPPP *ppp, gpointer user_data); - GAtPPP * g_at_ppp_new(GIOChannel *modem); void g_at_ppp_open(GAtPPP *ppp); void g_at_ppp_set_connect_function(GAtPPP *ppp, GAtPPPConnectFunc callback, gpointer user_data); -void g_at_ppp_set_disconnect_function(GAtPPP *ppp, - GAtPPPDisconnectFunc callback, +void g_at_ppp_set_disconnect_function(GAtPPP *ppp, GAtDisconnectFunc func, gpointer user_data); void g_at_ppp_shutdown(GAtPPP *ppp); void g_at_ppp_ref(GAtPPP *ppp); diff --git a/gatchat/ppp.c b/gatchat/ppp.c index 7755791..99af49a 100644 --- a/gatchat/ppp.c +++ b/gatchat/ppp.c @@ -383,7 +383,7 @@ static void ppp_dead(GAtPPP *ppp) { /* notify interested parties */ if (ppp->disconnect_cb) - ppp->disconnect_cb(ppp, ppp->disconnect_data); + ppp->disconnect_cb(ppp->disconnect_data); if (g_atomic_int_get(&ppp->ref_count)) return; diff --git a/gatchat/ppp.h b/gatchat/ppp.h index 6797603..9a9eab2 100644 --- a/gatchat/ppp.h +++ b/gatchat/ppp.h @@ -133,7 +133,7 @@ struct _GAtPPP { GQueue *recv_queue; GAtPPPConnectFunc connect_cb; gpointer connect_data; - GAtPPPDisconnectFunc disconnect_cb; + GAtDisconnectFunc disconnect_cb; gpointer disconnect_data; gint modem_watch; }; -- 2.7.4