diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/connman.h | 3 | ||||
-rwxr-xr-x | src/network.c | 3 | ||||
-rw-r--r-- | src/service.c | 24 |
3 files changed, 30 insertions, 0 deletions
diff --git a/src/connman.h b/src/connman.h index 610f63bc..bb4c0e59 100644 --- a/src/connman.h +++ b/src/connman.h @@ -724,6 +724,9 @@ struct connman_service *__connman_service_create_from_network(struct connman_net struct connman_service *__connman_service_create_from_provider(struct connman_provider *provider); bool __connman_service_index_is_default(int index); struct connman_service *__connman_service_get_default(void); +#if defined TIZEN_EXT +void __connman_service_notify_strength_changed(struct connman_network *network); +#endif void __connman_service_update_from_network(struct connman_network *network); void __connman_service_remove_from_network(struct connman_network *network); void __connman_service_read_ip4config(struct connman_service *service); diff --git a/src/network.c b/src/network.c index 4a53bba3..9e5d9619 100755 --- a/src/network.c +++ b/src/network.c @@ -2243,6 +2243,9 @@ int connman_network_set_strength(struct connman_network *network, uint8_t strength) { network->strength = strength; +#if defined TIZEN_EXT + __connman_service_notify_strength_changed(network); +#endif return 0; } diff --git a/src/service.c b/src/service.c index 6331ae41..85bcc318 100644 --- a/src/service.c +++ b/src/service.c @@ -9282,6 +9282,30 @@ struct connman_service * __connman_service_create_from_network(struct connman_ne return service; } +#if defined TIZEN_EXT +void __connman_service_notify_strength_changed(struct connman_network *network) +{ + struct connman_service *service; + uint8_t strength = 0; + + service = connman_service_lookup_from_network(network); + if (!service) + return; + + if (!service->network) + return; + + strength = connman_network_get_strength(service->network); + if (strength == service->strength) + return; + + service->strength = strength; + DBG("Strength %d", strength); + strength_changed(service); + service_list_sort(); +} +#endif + void __connman_service_update_from_network(struct connman_network *network) { bool need_sort = false; |