diff options
Diffstat (limited to 'src/service.c')
-rwxr-xr-x | src/service.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c index 6b2b9801..8393846d 100755 --- a/src/service.c +++ b/src/service.c @@ -4253,6 +4253,22 @@ int connman_service_iterate_services(connman_service_iterate_cb cb, } #if defined TIZEN_EXT +static void append_security_list(DBusMessageIter *iter, void *user_data) +{ + GSList *sec_list = (GSList *)user_data; + const char *sec_str; + + if (sec_list) { + GSList *list; + for (list = sec_list; list; list = list->next) { + sec_str = (const char *)list->data; + + dbus_message_iter_append_basic(iter, + DBUS_TYPE_STRING, &sec_str); + } + } +} + static void append_wifi_ext_info(DBusMessageIter *dict, struct connman_network *network) { @@ -4272,6 +4288,7 @@ static void append_wifi_ext_info(DBusMessageIter *dict, char *country_code_str = country_code_buff; unsigned char *country_code; uint16_t connection_mode; + GSList *sec_list = NULL; ssid = connman_network_get_blob(network, "WiFi.SSID", &ssid_len); bssid = connman_network_get_bssid(network); @@ -4283,12 +4300,16 @@ static void append_wifi_ext_info(DBusMessageIter *dict, keymgmt = connman_network_get_keymgmt(network); country_code = connman_network_get_countrycode(network); connection_mode = connman_network_get_connection_mode(network); + sec_list = (GSList *)connman_network_get_sec_list(network); snprintf(bssid_str, WIFI_BSSID_STR_LEN, MACSTR, MAC2STR(bssid)); snprintf(country_code_str, (WIFI_COUNTRY_CODE_LEN + 1), "%c%c", country_code[0], country_code[1]); + connman_dbus_dict_append_array(dict, "SecurityList", + DBUS_TYPE_STRING, + append_security_list, sec_list); connman_dbus_dict_append_fixed_array(dict, "SSID", DBUS_TYPE_BYTE, &ssid, ssid_len); |