diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-04-17 14:57:24 +0200 |
---|---|---|
committer | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-04-17 15:34:18 +0200 |
commit | 60684f8969cd804aef3f1241e4810bdfaaeb0d3f (patch) | |
tree | 9be4b3406061e13acfb5621855f1f135ffeddf2a | |
parent | 16151495b6c0b4894cbc9ae5fbfe5120db166ca0 (diff) | |
download | connman-60684f8969cd804aef3f1241e4810bdfaaeb0d3f.tar.gz connman-60684f8969cd804aef3f1241e4810bdfaaeb0d3f.tar.bz2 connman-60684f8969cd804aef3f1241e4810bdfaaeb0d3f.zip |
notifier: Add old state to __connman_notifier_disconnect()
The old state helps to distinguish between the transissionts
from CONNECTED -> DISCONNECTED or ONLINE -> DISCONNECTED.
-rw-r--r-- | src/connman.h | 3 | ||||
-rw-r--r-- | src/notifier.c | 3 | ||||
-rw-r--r-- | src/service.c | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/connman.h b/src/connman.h index 0a73c811..5d8cbe70 100644 --- a/src/connman.h +++ b/src/connman.h @@ -690,7 +690,8 @@ void __connman_notifier_service_add(struct connman_service *service, const char *name); void __connman_notifier_service_remove(struct connman_service *service); void __connman_notifier_connect(enum connman_service_type type); -void __connman_notifier_disconnect(enum connman_service_type type); +void __connman_notifier_disconnect(enum connman_service_type type, + enum connman_service_state old_state); void __connman_notifier_offlinemode(connman_bool_t enabled); void __connman_notifier_default_changed(struct connman_service *service); void __connman_notifier_proxy_changed(struct connman_service *service); diff --git a/src/notifier.c b/src/notifier.c index cd15f76f..db20cd20 100644 --- a/src/notifier.c +++ b/src/notifier.c @@ -150,7 +150,8 @@ void __connman_notifier_connect(enum connman_service_type type) technology_connected(type, TRUE); } -void __connman_notifier_disconnect(enum connman_service_type type) +void __connman_notifier_disconnect(enum connman_service_type type, + enum connman_service_state old_state) { DBG("type %d", type); diff --git a/src/service.c b/src/service.c index 35e88d02..3f695858 100644 --- a/src/service.c +++ b/src/service.c @@ -4554,7 +4554,7 @@ static int service_indicate_state(struct connman_service *service) dns_changed(service); domain_changed(service); - __connman_notifier_disconnect(service->type); + __connman_notifier_disconnect(service->type, old_state); /* * Previous services which are connected and which states |