From: Patrik Flykt <[email protected]>
---
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
[email protected]
http://lists.connman.net/listinfo/connman