diff options
author | Mayank Haarit <mayank.h@samsung.com> | 2018-04-20 20:57:32 +0530 |
---|---|---|
committer | Mayank Haarit <mayank.h@samsung.com> | 2018-04-20 15:39:29 +0000 |
commit | 6c73f51b34fa18a1a9b4582f0e1dfcaee8f2fa5e (patch) | |
tree | c1df62ff68b833ec3a00f05617bb77cbdf85c588 /src | |
parent | dce2054780e8142aebe5a7d11c4751040437f7ec (diff) | |
download | connman-6c73f51b34fa18a1a9b4582f0e1dfcaee8f2fa5e.tar.gz connman-6c73f51b34fa18a1a9b4582f0e1dfcaee8f2fa5e.tar.bz2 connman-6c73f51b34fa18a1a9b4582f0e1dfcaee8f2fa5e.zip |
Add BSSID , signal strength and frequency list of the APssubmit/tizen/20180424.084858accepted/tizen/unified/20180425.062309
This patch sends the list of BSSID, signal strength and
frequency of an APs having same SSID and Security type.
Change-Id: I368d37de310687ca173418dfad91fae7082b2357
Signed-off-by: Mayank Haarit <mayank.h@samsung.com>
Diffstat (limited to 'src')
-rwxr-xr-x | src/network.c | 14 | ||||
-rwxr-xr-x | src/service.c | 32 |
2 files changed, 45 insertions, 1 deletions
diff --git a/src/network.c b/src/network.c index eb2d0391..c5b5c974 100755 --- a/src/network.c +++ b/src/network.c @@ -120,6 +120,7 @@ struct connman_network { */ char *phase1; unsigned char country_code[WIFI_COUNTRY_CODE_LEN]; + GSList *bssid_list; #endif } wifi; @@ -985,6 +986,7 @@ static void network_destruct(struct connman_network *network) g_free(network->wifi.pin_wps); #if defined TIZEN_EXT g_slist_free_full(network->wifi.vsie_list, g_free); + g_slist_free_full(network->wifi.bssid_list, g_free); #endif g_free(network->path); g_free(network->group); @@ -2100,6 +2102,18 @@ unsigned char *connman_network_get_countrycode(struct connman_network *network) return (unsigned char *)network->wifi.country_code; } +int connman_network_set_bssid_list(struct connman_network *network, + GSList *bssids) +{ + network->wifi.bssid_list = bssids; + + return 0; +} + +void *connman_network_get_bssid_list(struct connman_network *network) +{ + return network->wifi.bssid_list; +} #endif int connman_network_set_nameservers(struct connman_network *network, diff --git a/src/service.c b/src/service.c index b533dcd0..b0424618 100755 --- a/src/service.c +++ b/src/service.c @@ -3303,6 +3303,33 @@ static void append_wifi_ext_info(DBusMessageIter *dict, DBUS_TYPE_STRING, &str); } } + +static void append_bssid_info(DBusMessageIter *iter, void *user_data) +{ + GSList *bssid_list = NULL; + struct connman_network *network = user_data; + struct connman_bssids *bssids; + char bssid_buf[18] = {0,}; + char *bssid_str = bssid_buf; + + bssid_list = (GSList *)connman_network_get_bssid_list(network); + if(bssid_list) { + GSList *list; + for (list = bssid_list; list; list = list->next) { + bssids = (struct connman_bssids *)list->data; + memcpy(bssid_str, bssids->bssid, 18); + + connman_dbus_dict_append_basic(iter, "BSSID", + DBUS_TYPE_STRING, &bssid_str); + + connman_dbus_dict_append_basic(iter, "Strength", + DBUS_TYPE_UINT16, &bssids->strength); + + connman_dbus_dict_append_basic(iter, "Frequency", + DBUS_TYPE_UINT16, &bssids->frequency); + } + } +} #endif static void append_properties(DBusMessageIter *dict, dbus_bool_t limited, @@ -3406,8 +3433,11 @@ static void append_properties(DBusMessageIter *dict, dbus_bool_t limited, break; case CONNMAN_SERVICE_TYPE_WIFI: #if defined TIZEN_EXT - if (service->network != NULL) + if (service->network != NULL) { append_wifi_ext_info(dict, service->network); + connman_dbus_dict_append_dict(dict, "BSSID.List", + append_bssid_info, service->network); + } connman_dbus_dict_append_dict(dict, "Ethernet", append_ethernet, service); |