From: Patrik Flykt <patrik.fl...@linux.intel.com> --- src/service.c | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/src/service.c b/src/service.c index 5dd998a..3b888aa 100644 --- a/src/service.c +++ b/src/service.c @@ -30,6 +30,7 @@ #include <gdbus.h> #include <connman/storage.h> +#include <connman/setting.h> #include "connman.h" @@ -5356,7 +5357,8 @@ struct connman_service * __connman_service_create_from_network(struct connman_ne struct connman_device *device; const char *ident, *group; char *name; - int index; + unsigned int *auto_connect_types; + int i, index; DBG("network %p", network); @@ -5390,6 +5392,15 @@ struct connman_service * __connman_service_create_from_network(struct connman_ne service->type = convert_network_type(network); + auto_connect_types = connman_setting_get_uint_list("DefaultAutoConnectTechnologies"); + service->autoconnect = FALSE; + for (i = 0; auto_connect_types[i] != 0; i += 1) { + if (service->type == auto_connect_types[i]) { + service->autoconnect = TRUE; + break; + } + } + switch (service->type) { case CONNMAN_SERVICE_TYPE_UNKNOWN: case CONNMAN_SERVICE_TYPE_SYSTEM: @@ -5398,13 +5409,11 @@ struct connman_service * __connman_service_create_from_network(struct connman_ne case CONNMAN_SERVICE_TYPE_GPS: case CONNMAN_SERVICE_TYPE_VPN: case CONNMAN_SERVICE_TYPE_GADGET: - service->autoconnect = FALSE; + case CONNMAN_SERVICE_TYPE_WIFI: + case CONNMAN_SERVICE_TYPE_CELLULAR: break; case CONNMAN_SERVICE_TYPE_ETHERNET: service->favorite = TRUE; - case CONNMAN_SERVICE_TYPE_WIFI: - case CONNMAN_SERVICE_TYPE_CELLULAR: - service->autoconnect = TRUE; break; } -- 1.7.9.1 _______________________________________________ connman mailing list connman@connman.net http://lists.connman.net/listinfo/connman