[RESEND 3 PATCH 11/13] ifxmodem: update to new gprs context interface
--- drivers/ifxmodem/gprs-context.c | 36 +--- 1 files changed, 21 insertions(+), 15 deletions(-) diff --git a/drivers/ifxmodem/gprs-context.c b/drivers/ifxmodem/gprs-context.c index 2c68b44..91dee8c 100644 --- a/drivers/ifxmodem/gprs-context.c +++ b/drivers/ifxmodem/gprs-context.c @@ -67,10 +67,7 @@ struct gprs_context_data { char address[32]; char dns1[32]; char dns2[32]; - union { - ofono_gprs_context_cb_t down_cb;/* Down callback */ - ofono_gprs_context_up_cb_t up_cb; /* Up callback */ - }; + ofono_gprs_context_cb_t cb; void *cb_data; /* Callback data */ }; @@ -123,13 +120,12 @@ static void failed_setup(struct ofono_gprs_context *gc, gcd-state = STATE_IDLE; if (result == NULL) { - CALLBACK_WITH_FAILURE(gcd-up_cb, NULL, 0, NULL, NULL, - NULL, NULL, gcd-cb_data); + CALLBACK_WITH_FAILURE(gcd-cb, gcd-cb_data); return; } decode_at_error(error, g_at_result_final_response(result)); - gcd-up_cb(error, NULL, 0, NULL, NULL, NULL, NULL, gcd-cb_data); + gcd-cb(error, gcd-cb_data); } static void session_cb(gboolean ok, GAtResult *result, gpointer user_data) @@ -157,10 +153,15 @@ static void session_cb(gboolean ok, GAtResult *result, gpointer user_data) if (interface == NULL) interface = invalid; - CALLBACK_WITH_SUCCESS(gcd-up_cb, interface, TRUE, gcd-address, - STATIC_IP_NETMASK, NULL, dns, gcd-cb_data); + ofono_gprs_context_set_interface(gc, interface); + ofono_gprs_context_set_ip_addrconf(gc, OFONO_GPRS_ADDRCONF_STATIC); + ofono_gprs_context_set_ip_address(gc, gcd-address); + ofono_gprs_context_set_ip_netmask(gc, STATIC_IP_NETMASK); + ofono_gprs_context_set_dns_servers(gc, dns); - gcd-up_cb = NULL; + CALLBACK_WITH_SUCCESS(gcd-cb, gcd-cb_data); + + gcd-cb = NULL; gcd-cb_data = NULL; } @@ -316,16 +317,20 @@ error: static void ifx_gprs_activate_primary(struct ofono_gprs_context *gc, const struct ofono_gprs_primary_context *ctx, - ofono_gprs_context_up_cb_t cb, void *data) + ofono_gprs_context_cb_t cb, void *data) { struct gprs_context_data *gcd = ofono_gprs_context_get_data(gc); char buf[OFONO_GPRS_MAX_APN_LENGTH + 128]; int len; + /* IPv6 support not implemented */ + if (ctx-proto != OFONO_GPRS_PROTO_IP) + goto error; + DBG(cid %u, ctx-cid); gcd-active_context = ctx-cid; - gcd-up_cb = cb; + gcd-cb = cb; gcd-cb_data = data; memcpy(gcd-username, ctx-username, sizeof(ctx-username)); memcpy(gcd-password, ctx-password, sizeof(ctx-password)); @@ -342,7 +347,8 @@ static void ifx_gprs_activate_primary(struct ofono_gprs_context *gc, setup_cb, gc, NULL) 0) return; - CALLBACK_WITH_FAILURE(cb, NULL, 0, NULL, NULL, NULL, NULL, data); +error: + CALLBACK_WITH_FAILURE(cb, data); } static void deactivate_cb(gboolean ok, GAtResult *result, gpointer user_data) @@ -360,7 +366,7 @@ static void deactivate_cb(gboolean ok, GAtResult *result, gpointer user_data) g_at_chat_resume(gcd-chat); - CALLBACK_WITH_SUCCESS(gcd-down_cb, gcd-cb_data); + CALLBACK_WITH_SUCCESS(gcd-cb, gcd-cb_data); } static void ifx_gprs_deactivate_primary(struct ofono_gprs_context *gc, @@ -374,7 +380,7 @@ static void ifx_gprs_deactivate_primary(struct ofono_gprs_context *gc, DBG(cid %u, cid); gcd-state = STATE_DISABLING; - gcd-down_cb = cb; + gcd-cb = cb; gcd-cb_data = data; g_at_rawip_shutdown(gcd-rawip); -- 1.7.1 ___ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono
[RESEND 2 PATCH 11/13] ifxmodem: update to new gprs context interface
--- drivers/ifxmodem/gprs-context.c | 36 +--- 1 files changed, 21 insertions(+), 15 deletions(-) diff --git a/drivers/ifxmodem/gprs-context.c b/drivers/ifxmodem/gprs-context.c index 2c68b44..91dee8c 100644 --- a/drivers/ifxmodem/gprs-context.c +++ b/drivers/ifxmodem/gprs-context.c @@ -67,10 +67,7 @@ struct gprs_context_data { char address[32]; char dns1[32]; char dns2[32]; - union { - ofono_gprs_context_cb_t down_cb;/* Down callback */ - ofono_gprs_context_up_cb_t up_cb; /* Up callback */ - }; + ofono_gprs_context_cb_t cb; void *cb_data; /* Callback data */ }; @@ -123,13 +120,12 @@ static void failed_setup(struct ofono_gprs_context *gc, gcd-state = STATE_IDLE; if (result == NULL) { - CALLBACK_WITH_FAILURE(gcd-up_cb, NULL, 0, NULL, NULL, - NULL, NULL, gcd-cb_data); + CALLBACK_WITH_FAILURE(gcd-cb, gcd-cb_data); return; } decode_at_error(error, g_at_result_final_response(result)); - gcd-up_cb(error, NULL, 0, NULL, NULL, NULL, NULL, gcd-cb_data); + gcd-cb(error, gcd-cb_data); } static void session_cb(gboolean ok, GAtResult *result, gpointer user_data) @@ -157,10 +153,15 @@ static void session_cb(gboolean ok, GAtResult *result, gpointer user_data) if (interface == NULL) interface = invalid; - CALLBACK_WITH_SUCCESS(gcd-up_cb, interface, TRUE, gcd-address, - STATIC_IP_NETMASK, NULL, dns, gcd-cb_data); + ofono_gprs_context_set_interface(gc, interface); + ofono_gprs_context_set_ip_addrconf(gc, OFONO_GPRS_ADDRCONF_STATIC); + ofono_gprs_context_set_ip_address(gc, gcd-address); + ofono_gprs_context_set_ip_netmask(gc, STATIC_IP_NETMASK); + ofono_gprs_context_set_dns_servers(gc, dns); - gcd-up_cb = NULL; + CALLBACK_WITH_SUCCESS(gcd-cb, gcd-cb_data); + + gcd-cb = NULL; gcd-cb_data = NULL; } @@ -316,16 +317,20 @@ error: static void ifx_gprs_activate_primary(struct ofono_gprs_context *gc, const struct ofono_gprs_primary_context *ctx, - ofono_gprs_context_up_cb_t cb, void *data) + ofono_gprs_context_cb_t cb, void *data) { struct gprs_context_data *gcd = ofono_gprs_context_get_data(gc); char buf[OFONO_GPRS_MAX_APN_LENGTH + 128]; int len; + /* IPv6 support not implemented */ + if (ctx-proto != OFONO_GPRS_PROTO_IP) + goto error; + DBG(cid %u, ctx-cid); gcd-active_context = ctx-cid; - gcd-up_cb = cb; + gcd-cb = cb; gcd-cb_data = data; memcpy(gcd-username, ctx-username, sizeof(ctx-username)); memcpy(gcd-password, ctx-password, sizeof(ctx-password)); @@ -342,7 +347,8 @@ static void ifx_gprs_activate_primary(struct ofono_gprs_context *gc, setup_cb, gc, NULL) 0) return; - CALLBACK_WITH_FAILURE(cb, NULL, 0, NULL, NULL, NULL, NULL, data); +error: + CALLBACK_WITH_FAILURE(cb, data); } static void deactivate_cb(gboolean ok, GAtResult *result, gpointer user_data) @@ -360,7 +366,7 @@ static void deactivate_cb(gboolean ok, GAtResult *result, gpointer user_data) g_at_chat_resume(gcd-chat); - CALLBACK_WITH_SUCCESS(gcd-down_cb, gcd-cb_data); + CALLBACK_WITH_SUCCESS(gcd-cb, gcd-cb_data); } static void ifx_gprs_deactivate_primary(struct ofono_gprs_context *gc, @@ -374,7 +380,7 @@ static void ifx_gprs_deactivate_primary(struct ofono_gprs_context *gc, DBG(cid %u, cid); gcd-state = STATE_DISABLING; - gcd-down_cb = cb; + gcd-cb = cb; gcd-cb_data = data; g_at_rawip_shutdown(gcd-rawip); -- 1.7.1 ___ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono
[RESEND PATCH 11/13] ifxmodem: update to new gprs context interface
--- drivers/ifxmodem/gprs-context.c | 36 +--- 1 files changed, 21 insertions(+), 15 deletions(-) diff --git a/drivers/ifxmodem/gprs-context.c b/drivers/ifxmodem/gprs-context.c index 2c68b44..91dee8c 100644 --- a/drivers/ifxmodem/gprs-context.c +++ b/drivers/ifxmodem/gprs-context.c @@ -67,10 +67,7 @@ struct gprs_context_data { char address[32]; char dns1[32]; char dns2[32]; - union { - ofono_gprs_context_cb_t down_cb;/* Down callback */ - ofono_gprs_context_up_cb_t up_cb; /* Up callback */ - }; + ofono_gprs_context_cb_t cb; void *cb_data; /* Callback data */ }; @@ -123,13 +120,12 @@ static void failed_setup(struct ofono_gprs_context *gc, gcd-state = STATE_IDLE; if (result == NULL) { - CALLBACK_WITH_FAILURE(gcd-up_cb, NULL, 0, NULL, NULL, - NULL, NULL, gcd-cb_data); + CALLBACK_WITH_FAILURE(gcd-cb, gcd-cb_data); return; } decode_at_error(error, g_at_result_final_response(result)); - gcd-up_cb(error, NULL, 0, NULL, NULL, NULL, NULL, gcd-cb_data); + gcd-cb(error, gcd-cb_data); } static void session_cb(gboolean ok, GAtResult *result, gpointer user_data) @@ -157,10 +153,15 @@ static void session_cb(gboolean ok, GAtResult *result, gpointer user_data) if (interface == NULL) interface = invalid; - CALLBACK_WITH_SUCCESS(gcd-up_cb, interface, TRUE, gcd-address, - STATIC_IP_NETMASK, NULL, dns, gcd-cb_data); + ofono_gprs_context_set_interface(gc, interface); + ofono_gprs_context_set_ip_addrconf(gc, OFONO_GPRS_ADDRCONF_STATIC); + ofono_gprs_context_set_ip_address(gc, gcd-address); + ofono_gprs_context_set_ip_netmask(gc, STATIC_IP_NETMASK); + ofono_gprs_context_set_dns_servers(gc, dns); - gcd-up_cb = NULL; + CALLBACK_WITH_SUCCESS(gcd-cb, gcd-cb_data); + + gcd-cb = NULL; gcd-cb_data = NULL; } @@ -316,16 +317,20 @@ error: static void ifx_gprs_activate_primary(struct ofono_gprs_context *gc, const struct ofono_gprs_primary_context *ctx, - ofono_gprs_context_up_cb_t cb, void *data) + ofono_gprs_context_cb_t cb, void *data) { struct gprs_context_data *gcd = ofono_gprs_context_get_data(gc); char buf[OFONO_GPRS_MAX_APN_LENGTH + 128]; int len; + /* IPv6 support not implemented */ + if (ctx-proto != OFONO_GPRS_PROTO_IP) + goto error; + DBG(cid %u, ctx-cid); gcd-active_context = ctx-cid; - gcd-up_cb = cb; + gcd-cb = cb; gcd-cb_data = data; memcpy(gcd-username, ctx-username, sizeof(ctx-username)); memcpy(gcd-password, ctx-password, sizeof(ctx-password)); @@ -342,7 +347,8 @@ static void ifx_gprs_activate_primary(struct ofono_gprs_context *gc, setup_cb, gc, NULL) 0) return; - CALLBACK_WITH_FAILURE(cb, NULL, 0, NULL, NULL, NULL, NULL, data); +error: + CALLBACK_WITH_FAILURE(cb, data); } static void deactivate_cb(gboolean ok, GAtResult *result, gpointer user_data) @@ -360,7 +366,7 @@ static void deactivate_cb(gboolean ok, GAtResult *result, gpointer user_data) g_at_chat_resume(gcd-chat); - CALLBACK_WITH_SUCCESS(gcd-down_cb, gcd-cb_data); + CALLBACK_WITH_SUCCESS(gcd-cb, gcd-cb_data); } static void ifx_gprs_deactivate_primary(struct ofono_gprs_context *gc, @@ -374,7 +380,7 @@ static void ifx_gprs_deactivate_primary(struct ofono_gprs_context *gc, DBG(cid %u, cid); gcd-state = STATE_DISABLING; - gcd-down_cb = cb; + gcd-cb = cb; gcd-cb_data = data; g_at_rawip_shutdown(gcd-rawip); -- 1.7.1 ___ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono
[PATCH 11/13] ifxmodem: update to new gprs context interface
--- drivers/ifxmodem/gprs-context.c | 36 +--- 1 files changed, 21 insertions(+), 15 deletions(-) diff --git a/drivers/ifxmodem/gprs-context.c b/drivers/ifxmodem/gprs-context.c index 2c68b44..91dee8c 100644 --- a/drivers/ifxmodem/gprs-context.c +++ b/drivers/ifxmodem/gprs-context.c @@ -67,10 +67,7 @@ struct gprs_context_data { char address[32]; char dns1[32]; char dns2[32]; - union { - ofono_gprs_context_cb_t down_cb;/* Down callback */ - ofono_gprs_context_up_cb_t up_cb; /* Up callback */ - }; + ofono_gprs_context_cb_t cb; void *cb_data; /* Callback data */ }; @@ -123,13 +120,12 @@ static void failed_setup(struct ofono_gprs_context *gc, gcd-state = STATE_IDLE; if (result == NULL) { - CALLBACK_WITH_FAILURE(gcd-up_cb, NULL, 0, NULL, NULL, - NULL, NULL, gcd-cb_data); + CALLBACK_WITH_FAILURE(gcd-cb, gcd-cb_data); return; } decode_at_error(error, g_at_result_final_response(result)); - gcd-up_cb(error, NULL, 0, NULL, NULL, NULL, NULL, gcd-cb_data); + gcd-cb(error, gcd-cb_data); } static void session_cb(gboolean ok, GAtResult *result, gpointer user_data) @@ -157,10 +153,15 @@ static void session_cb(gboolean ok, GAtResult *result, gpointer user_data) if (interface == NULL) interface = invalid; - CALLBACK_WITH_SUCCESS(gcd-up_cb, interface, TRUE, gcd-address, - STATIC_IP_NETMASK, NULL, dns, gcd-cb_data); + ofono_gprs_context_set_interface(gc, interface); + ofono_gprs_context_set_ip_addrconf(gc, OFONO_GPRS_ADDRCONF_STATIC); + ofono_gprs_context_set_ip_address(gc, gcd-address); + ofono_gprs_context_set_ip_netmask(gc, STATIC_IP_NETMASK); + ofono_gprs_context_set_dns_servers(gc, dns); - gcd-up_cb = NULL; + CALLBACK_WITH_SUCCESS(gcd-cb, gcd-cb_data); + + gcd-cb = NULL; gcd-cb_data = NULL; } @@ -316,16 +317,20 @@ error: static void ifx_gprs_activate_primary(struct ofono_gprs_context *gc, const struct ofono_gprs_primary_context *ctx, - ofono_gprs_context_up_cb_t cb, void *data) + ofono_gprs_context_cb_t cb, void *data) { struct gprs_context_data *gcd = ofono_gprs_context_get_data(gc); char buf[OFONO_GPRS_MAX_APN_LENGTH + 128]; int len; + /* IPv6 support not implemented */ + if (ctx-proto != OFONO_GPRS_PROTO_IP) + goto error; + DBG(cid %u, ctx-cid); gcd-active_context = ctx-cid; - gcd-up_cb = cb; + gcd-cb = cb; gcd-cb_data = data; memcpy(gcd-username, ctx-username, sizeof(ctx-username)); memcpy(gcd-password, ctx-password, sizeof(ctx-password)); @@ -342,7 +347,8 @@ static void ifx_gprs_activate_primary(struct ofono_gprs_context *gc, setup_cb, gc, NULL) 0) return; - CALLBACK_WITH_FAILURE(cb, NULL, 0, NULL, NULL, NULL, NULL, data); +error: + CALLBACK_WITH_FAILURE(cb, data); } static void deactivate_cb(gboolean ok, GAtResult *result, gpointer user_data) @@ -360,7 +366,7 @@ static void deactivate_cb(gboolean ok, GAtResult *result, gpointer user_data) g_at_chat_resume(gcd-chat); - CALLBACK_WITH_SUCCESS(gcd-down_cb, gcd-cb_data); + CALLBACK_WITH_SUCCESS(gcd-cb, gcd-cb_data); } static void ifx_gprs_deactivate_primary(struct ofono_gprs_context *gc, @@ -374,7 +380,7 @@ static void ifx_gprs_deactivate_primary(struct ofono_gprs_context *gc, DBG(cid %u, cid); gcd-state = STATE_DISABLING; - gcd-down_cb = cb; + gcd-cb = cb; gcd-cb_data = data; g_at_rawip_shutdown(gcd-rawip); -- 1.7.1 ___ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono