notifier: Add old state to __connman_notifier_disconnect()
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Tue, 17 Apr 2012 12:57:24 +0000 (14:57 +0200)
committerDaniel Wagner <daniel.wagner@bmw-carit.de>
Tue, 17 Apr 2012 13:34:18 +0000 (15:34 +0200)
The old state helps to distinguish between the transissionts
from CONNECTED -> DISCONNECTED or ONLINE -> DISCONNECTED.

src/connman.h
src/notifier.c
src/service.c

index 0a73c81..5d8cbe7 100644 (file)
@@ -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);
index cd15f76..db20cd2 100644 (file)
@@ -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);
 
index 35e88d0..3f69585 100644 (file)
@@ -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