service: Proxy changes notifications
authorSamuel Ortiz <sameo@linux.intel.com>
Wed, 12 Jan 2011 23:17:59 +0000 (00:17 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 12 Jan 2011 23:37:36 +0000 (00:37 +0100)
notifier listening for proxy changes will get a heads up from WPAD or
from DHCP.

src/service.c

index a99b919..74493dc 100644 (file)
@@ -1561,6 +1561,10 @@ void connman_service_set_proxy_method(struct connman_service *service,
 
        service->proxy = method;
 
+       proxy_changed(service);
+
+       if (method != CONNMAN_SERVICE_PROXY_METHOD_AUTO)
+               __connman_notifier_proxy_changed(service);
 }
 
 enum connman_service_proxy_method connman_service_get_proxy_method(
@@ -1618,6 +1622,8 @@ void __connman_service_set_proxy_autoconfig(struct connman_service *service,
                return;
 
        proxy_changed(service);
+
+       __connman_notifier_proxy_changed(service);
 }
 
 const char *connman_service_get_proxy_autoconfig(struct connman_service *service)
@@ -3134,10 +3140,13 @@ int __connman_service_indicate_state(struct connman_service *service,
                                (proxy_config ==
                                        CONNMAN_SERVICE_PROXY_METHOD_AUTO &&
                                        service->pac == NULL)))
-                       if (__connman_wpad_start(service) < 0)
+                       if (__connman_wpad_start(service) < 0) {
                                service->proxy =
                                        CONNMAN_SERVICE_PROXY_METHOD_DIRECT;
 
+                               __connman_notifier_proxy_changed(service);
+                       }
+
                __connman_notifier_connect(service->type);
 
                default_changed();