Refactor set_property's AutoConnect to a separate function. --- src/connman.h | 2 ++ src/service.c | 29 +++++++++++++++++++---------- 2 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/src/connman.h b/src/connman.h index 35eb3f5..d1cb71b 100644 --- a/src/connman.h +++ b/src/connman.h @@ -759,6 +759,8 @@ bool __connman_service_is_hidden(struct connman_service *service); bool __connman_service_is_split_routing(struct connman_service *service); bool __connman_service_index_is_split_routing(int index); int __connman_service_get_index(struct connman_service *service); +bool __connman_service_set_autoconnect(struct connman_service *service, + bool autoconnect); void __connman_service_set_hidden(struct connman_service *service); void __connman_service_set_hostname(struct connman_service *service, const char *hostname); diff --git a/src/service.c b/src/service.c index 196f6b5..9027810 100644 --- a/src/service.c +++ b/src/service.c @@ -2454,6 +2454,24 @@ int __connman_service_get_index(struct connman_service *service) return -1; } +bool __connman_service_set_autoconnect(struct connman_service *service, + bool autoconnect) +{ + if (!service || service->autoconnect == autoconnect) + return false; + + service->autoconnect = autoconnect; + + autoconnect_changed(service); + + if (autoconnect) + __connman_service_auto_connect(CONNMAN_SERVICE_CONNECT_REASON_AUTO); + + service_save(service); + + return true; +} + void __connman_service_set_hidden(struct connman_service *service) { if (!service || service->hidden) @@ -3229,17 +3247,8 @@ static DBusMessage *set_property(DBusConnection *conn, dbus_message_iter_get_basic(&value, &autoconnect); - if (service->autoconnect == autoconnect) + if (!__connman_service_set_autoconnect(service, autoconnect)) return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); - - service->autoconnect = autoconnect; - - autoconnect_changed(service); - - if (autoconnect) - __connman_service_auto_connect(CONNMAN_SERVICE_CONNECT_REASON_AUTO); - - service_save(service); } else if (g_str_equal(name, "Nameservers.Configuration")) { DBusMessageIter entry; GString *str; -- 2.5.3 _______________________________________________ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman