From a0d6107db0c6a3b5c950287866ba11c1d3bef965 Mon Sep 17 00:00:00 2001 From: Tomasz Bursztyka Date: Wed, 30 Nov 2011 13:16:29 +0200 Subject: [PATCH] service: Make state downgrading routine static service.c should be the only one messing with service's states. --- src/connman.h | 1 - src/service.c | 44 ++++++++++++++++++++++---------------------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/src/connman.h b/src/connman.h index bd815a0..85055b1 100644 --- a/src/connman.h +++ b/src/connman.h @@ -536,7 +536,6 @@ void __connman_service_notify(struct connman_service *service, int __connman_service_counter_register(const char *counter); void __connman_service_counter_unregister(const char *counter); -void __connman_service_downgrade_state(struct connman_service *service); struct connman_session; struct service_entry; diff --git a/src/service.c b/src/service.c index c663def..0ab313c 100644 --- a/src/service.c +++ b/src/service.c @@ -3285,6 +3285,25 @@ static gboolean check_suitable_state(enum connman_service_state a, return a == b; } +static void downgrade_state(struct connman_service *service) +{ + if (service == NULL) + return; + + DBG("service %p state4 %d state6 %d", service, service->state_ipv4, + service->state_ipv6); + + if (service->state_ipv4 == CONNMAN_SERVICE_STATE_ONLINE) + __connman_service_ipconfig_indicate_state(service, + CONNMAN_SERVICE_STATE_READY, + CONNMAN_IPCONFIG_TYPE_IPV4); + + if (service->state_ipv6 == CONNMAN_SERVICE_STATE_ONLINE) + __connman_service_ipconfig_indicate_state(service, + CONNMAN_SERVICE_STATE_READY, + CONNMAN_IPCONFIG_TYPE_IPV6); +} + static void apply_relevant_default_downgrade(struct connman_service *service) { struct connman_service *def_service; @@ -3386,11 +3405,11 @@ static DBusMessage *move_service(DBusConnection *conn, if (before == TRUE) { apply_relevant_default_downgrade(target); g_sequence_move(src, dst); - __connman_service_downgrade_state(service); + downgrade_state(service); } else { apply_relevant_default_downgrade(service); g_sequence_move(dst, src); - __connman_service_downgrade_state(target); + downgrade_state(target); } services_changed(FALSE); @@ -4000,7 +4019,7 @@ static void downgrade_connected_services(void) if (up_service->state == CONNMAN_SERVICE_STATE_ONLINE) return; - __connman_service_downgrade_state(up_service); + downgrade_state(up_service); iter = g_sequence_iter_next(iter); } @@ -5769,25 +5788,6 @@ __connman_service_create_from_provider(struct connman_provider *provider) return service; } -void __connman_service_downgrade_state(struct connman_service *service) -{ - if (service == NULL) - return; - - DBG("service %p state4 %d state6 %d", service, service->state_ipv4, - service->state_ipv6); - - if (service->state_ipv4 == CONNMAN_SERVICE_STATE_ONLINE) - __connman_service_ipconfig_indicate_state(service, - CONNMAN_SERVICE_STATE_READY, - CONNMAN_IPCONFIG_TYPE_IPV4); - - if (service->state_ipv6 == CONNMAN_SERVICE_STATE_ONLINE) - __connman_service_ipconfig_indicate_state(service, - CONNMAN_SERVICE_STATE_READY, - CONNMAN_IPCONFIG_TYPE_IPV6); -} - int __connman_service_init(void) { DBG(""); -- 2.7.4