summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gatchat/gatppp.c10
-rw-r--r--gatchat/gatppp.h7
-rw-r--r--gatchat/ppp.c2
-rw-r--r--gatchat/ppp.h2
4 files changed, 11 insertions, 10 deletions
diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c
index 7afff531..556387ae 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 41aadcad..b37f74d5 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 7755791c..99af49a3 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 6797603d..9a9eab2b 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;
};