summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Wagner <daniel.wagner@bmw-carit.de>2012-04-17 14:57:24 +0200
committerDaniel Wagner <daniel.wagner@bmw-carit.de>2012-04-17 15:34:18 +0200
commit60684f8969cd804aef3f1241e4810bdfaaeb0d3f (patch)
tree9be4b3406061e13acfb5621855f1f135ffeddf2a
parent16151495b6c0b4894cbc9ae5fbfe5120db166ca0 (diff)
downloadconnman-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.h3
-rw-r--r--src/notifier.c3
-rw-r--r--src/service.c2
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