diff options
author | Niraj Kumar Goit <niraj.g@samsung.com> | 2018-01-04 14:48:49 +0530 |
---|---|---|
committer | Niraj Kumar Goit <niraj.g@samsung.com> | 2018-01-04 15:43:26 +0530 |
commit | 3210aec76f77e83630367d47b888db89baec44c4 (patch) | |
tree | c6ce9c5447cf101b8a322393cafd67a166dc5de7 /src/service.c | |
parent | 1a5031d10d06c727f8cbc866e928b5d69bce50cc (diff) | |
download | connman-3210aec76f77e83630367d47b888db89baec44c4.tar.gz connman-3210aec76f77e83630367d47b888db89baec44c4.tar.bz2 connman-3210aec76f77e83630367d47b888db89baec44c4.zip |
Modified logic to process each VSIE of all vendors.
Modified logic to process each VSIE of all vendors instead of
only samsung vendor(OUI: 001632). Received VSIE will be appended
in the list and shared with application.
Change-Id: I11fee186c04677fdcd7746fcef7fd1dee4a0b02e
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
Diffstat (limited to 'src/service.c')
-rwxr-xr-x | src/service.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/service.c b/src/service.c index 129b4105..033c8f8f 100755 --- a/src/service.c +++ b/src/service.c @@ -3248,14 +3248,25 @@ static void append_properties(DBusMessageIter *dict, dbus_bool_t limited, connman_dbus_dict_append_basic(dict, "Frequency", DBUS_TYPE_UINT16, &frequency); } - const void *wifi_vsie; + + unsigned char *wifi_vsie; unsigned int wifi_vsie_len; - wifi_vsie = connman_network_get_blob(service->network, "WiFi.Vsie", &wifi_vsie_len); - if(wifi_vsie_len > 0) { - DBG("ConnMan, service->path=%s vsie length=%d", service->path, wifi_vsie_len); + GSList *vsie_list = NULL; + + if (service->network) + vsie_list = (GSList *)connman_network_get_vsie_list(service->network); + + if (vsie_list) { + DBG("ConnMan, service->path=%s No.of elements in list: %d", service->path, g_slist_length(vsie_list)); + GSList *list; + for (list = vsie_list; list; list = list->next) { + wifi_vsie = (unsigned char *)list->data; + wifi_vsie_len = wifi_vsie[1] + 2; + + connman_dbus_dict_append_fixed_array(dict, "Vsie", DBUS_TYPE_BYTE, + &wifi_vsie, wifi_vsie_len); + } } - connman_dbus_dict_append_fixed_array(dict, "Vsie", DBUS_TYPE_BYTE, - &wifi_vsie, wifi_vsie_len); #endif str = __connman_service_type2string(service->type); |