X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fservice.c;h=e4dbc32fbd55405b25158232ac7ea499f54d3e46;hb=5e42775e3dbed134c7e319b38b50eaf488b0f450;hp=c7088d249a6dd6be48b3fbc04f67f717d4a11842;hpb=05d00ac16fd9c9a5630afb5a2f9b92774fdca01a;p=platform%2Fupstream%2Fconnman.git diff --git a/src/service.c b/src/service.c index c7088d2..e4dbc32 100755 --- a/src/service.c +++ b/src/service.c @@ -2921,6 +2921,31 @@ struct connman_service *connman_service_get_default_connection(void) return default_service; } + +struct connman_service *connman_service_get_connected_service(const char *ifname) +{ + GList *list; + const char *svc_ifname; + struct connman_service *service; + + if (!ifname) + return NULL; + + for (list = service_list; list; list = list->next) { + service = list->data; + + if (!is_connected(service->state)) + continue; + + svc_ifname = connman_device_get_string( + connman_network_get_device(service->network), "Interface"); + + if (svc_ifname && g_strcmp0(svc_ifname, ifname) == 0) + return service; + } + + return NULL; +} #endif struct connman_service *connman_service_get_default(void) @@ -4968,7 +4993,7 @@ bool connman_service_get_internet_connection(struct connman_service *service) return service->is_internet_connection; } -DBusMessage *connman_service_get_defaut_info(DBusMessage *msg, +DBusMessage *connman_service_create_dbus_service_reply(DBusMessage *msg, struct connman_service *service) { DBusMessage *reply; @@ -5414,6 +5439,16 @@ int __connman_service_get_use_eapol(struct connman_service *service) return service->use_eapol; } + +int __connman_service_get_connect_reason(struct connman_service *service) +{ + if (!service) { + DBG("Service is NULL"); + return -1; + } + + return service->connect_reason; +} #endif /* defined TIZEN_EXT && defined TIZEN_EXT_EAP_ON_ETHERNET */ static DBusMessage *get_properties(DBusConnection *conn, @@ -6164,6 +6199,7 @@ static DBusMessage *set_property(DBusConnection *conn, if (err < 0) return __connman_error_failed(msg, -err); + service->connect_reason = CONNMAN_SERVICE_CONNECT_REASON_USER; service_save(service); #endif /* defined TIZEN_EXT && defined TIZEN_EXT_EAP_ON_ETHERNET */ } else @@ -7886,6 +7922,9 @@ static int calculate_score_last_connected(struct connman_service *service) unsigned int frequency; device = connman_network_get_device(service->network); + if (!device) + return 0; + last_connected_ident = connman_device_get_last_connected_ident(device); frequency = connman_network_get_frequency(service->network);