From: Daniel Wagner <[email protected]>
The old state helps to distinguish between the transissionts
from CONNECTED -> DISCONNECTED or ONLINE -> DISCONNECTED.
---
src/connman.h | 3 ++-
src/notifier.c | 3 ++-
src/service.c | 2 +-
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/connman.h b/src/connman.h
index eef2722..e1f08ab 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -695,7 +695,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 dedea95..ed9b0d2 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 35e88d0..3f69585 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
--
1.7.10.130.g36e6c
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman