summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMayank Haarit <mayank.h@samsung.com>2018-04-20 20:57:32 +0530
committerMayank Haarit <mayank.h@samsung.com>2018-04-20 15:39:29 +0000
commit6c73f51b34fa18a1a9b4582f0e1dfcaee8f2fa5e (patch)
treec1df62ff68b833ec3a00f05617bb77cbdf85c588 /src
parentdce2054780e8142aebe5a7d11c4751040437f7ec (diff)
downloadconnman-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-xsrc/network.c14
-rwxr-xr-xsrc/service.c32
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);