summaryrefslogtreecommitdiff
path: root/src/service.c
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2011-01-13 00:17:59 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2011-01-13 00:37:36 +0100
commit21b29ae70b3ca3c0729bd04880010dcb7e17e4fd (patch)
tree113cbab0c31a0ced8f2a1797d5e295a407da1978 /src/service.c
parent33bed583cf635ca5c95e85470eb97e9b1c630bb4 (diff)
downloadconnman-21b29ae70b3ca3c0729bd04880010dcb7e17e4fd.tar.gz
connman-21b29ae70b3ca3c0729bd04880010dcb7e17e4fd.tar.bz2
connman-21b29ae70b3ca3c0729bd04880010dcb7e17e4fd.zip
service: Proxy changes notifications
notifier listening for proxy changes will get a heads up from WPAD or from DHCP.
Diffstat (limited to 'src/service.c')
-rw-r--r--src/service.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/service.c b/src/service.c
index a99b9191..74493dcc 100644
--- a/src/service.c
+++ b/src/service.c
@@ -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();