diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-04-05 14:16:00 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-04-05 14:16:00 -0500 |
commit | 60d96505dce4f11da7c307b03557a6f2ee8c139d (patch) | |
tree | 6f9222ca136b81afc0a1a2ee3b51b4228557eb1c | |
parent | 331fcaea32627b58882e36752068cb25987a22fe (diff) | |
download | ofono-60d96505dce4f11da7c307b03557a6f2ee8c139d.tar.bz2 |
Refactor: Add pppcp_set_data & pppcp_get_data
Using these functions makes the code much cleaner than trying to pass
the priv pointer everywhere
-rw-r--r-- | gatchat/ppp_cp.c | 15 | ||||
-rw-r--r-- | gatchat/ppp_cp.h | 4 | ||||
-rw-r--r-- | gatchat/ppp_ipcp.c | 13 | ||||
-rw-r--r-- | gatchat/ppp_lcp.c | 1 |
4 files changed, 22 insertions, 11 deletions
diff --git a/gatchat/ppp_cp.c b/gatchat/ppp_cp.c index de6c7766..c24d6122 100644 --- a/gatchat/ppp_cp.c +++ b/gatchat/ppp_cp.c @@ -936,7 +936,7 @@ static guint8 pppcp_process_configure_request(struct pppcp_data *data, */ if (action->option_process) { g_list_foreach(data->acceptable_options, - action->option_process, data->priv); + action->option_process, data); g_list_foreach(data->acceptable_options, remove_config_option, data); } @@ -986,8 +986,7 @@ static guint8 pppcp_process_configure_ack(struct pppcp_data *data, * the config_options list. */ if (action->option_process) - action->option_process(acked_option, - data->priv); + action->option_process(acked_option, data); g_free(list->data); data->config_options = @@ -1287,6 +1286,16 @@ void pppcp_free(struct pppcp_data *data) g_free(data); } +void pppcp_set_data(struct pppcp_data *pppcp, gpointer data) +{ + pppcp->priv = data; +} + +gpointer pppcp_get_data(struct pppcp_data *pppcp) +{ + return pppcp->priv; +} + struct pppcp_data *pppcp_new(GAtPPP *ppp, guint16 proto) { struct pppcp_data *data; diff --git a/gatchat/ppp_cp.h b/gatchat/ppp_cp.h index 43068212..acd5329e 100644 --- a/gatchat/ppp_cp.h +++ b/gatchat/ppp_cp.h @@ -89,6 +89,10 @@ struct pppcp_data { struct pppcp_data *pppcp_new(GAtPPP *ppp, guint16 proto); void pppcp_free(struct pppcp_data *data); + +void pppcp_set_data(struct pppcp_data *pppcp, gpointer data); +gpointer pppcp_get_data(struct pppcp_data *pppcp); + void pppcp_add_config_option(struct pppcp_data *data, struct ppp_option *option); void pppcp_set_valid_codes(struct pppcp_data *data, guint16 codes); diff --git a/gatchat/ppp_ipcp.c b/gatchat/ppp_ipcp.c index c3e781c7..922681bd 100644 --- a/gatchat/ppp_ipcp.c +++ b/gatchat/ppp_ipcp.c @@ -57,7 +57,7 @@ enum ipcp_option_types { static void ipcp_up(struct pppcp_data *pppcp) { - struct ipcp_data *data = pppcp->priv; + struct ipcp_data *data = pppcp_get_data(pppcp); char ip[INET_ADDRSTRLEN]; char dns1[INET_ADDRSTRLEN]; char dns2[INET_ADDRSTRLEN]; @@ -125,7 +125,8 @@ static guint ipcp_option_scan(struct ppp_option *option, gpointer user) static void ipcp_option_process(gpointer data, gpointer user) { struct ppp_option *option = data; - struct ipcp_data *ipcp = user; + struct pppcp_data *pppcp = user; + struct ipcp_data *ipcp = pppcp_get_data(pppcp); switch (option->type) { case IP_ADDRESS: @@ -188,7 +189,8 @@ struct pppcp_data *ipcp_new(GAtPPP *ppp) pppcp->option_strings = ipcp_option_strings; pppcp->prefix = "ipcp"; - pppcp->priv = data; + + pppcp_set_data(pppcp, data); /* set the actions */ pppcp->action = &ipcp_action; @@ -209,11 +211,8 @@ struct pppcp_data *ipcp_new(GAtPPP *ppp) void ipcp_free(struct pppcp_data *data) { - struct ipcp_data *ipcp = data->priv; + struct ipcp_data *ipcp = pppcp_get_data(data); - /* free ipcp */ g_free(ipcp); - - /* free pppcp */ pppcp_free(data); } diff --git a/gatchat/ppp_lcp.c b/gatchat/ppp_lcp.c index 6460f336..aee7b104 100644 --- a/gatchat/ppp_lcp.c +++ b/gatchat/ppp_lcp.c @@ -220,7 +220,6 @@ struct pppcp_data *lcp_new(GAtPPP *ppp) pppcp->option_strings = lcp_option_strings; pppcp->prefix = "lcp"; - pppcp->priv = pppcp; /* set the actions */ pppcp->action = &lcp_action; |