summaryrefslogtreecommitdiff
path: root/gsupplicant
diff options
context:
space:
mode:
authorNishant Chaprana <n.chaprana@samsung.com>2019-04-30 17:52:29 +0530
committerNishant Chaprana <n.chaprana@samsung.com>2019-08-27 10:04:53 +0530
commit99b2c81f38ae73c1f31b8f310f4445dcab534fe8 (patch)
treeae32a8743d0fb8137a81d0113ae3aae8ea18c8c1 /gsupplicant
parentd9c4473ac7a38978f0c8922ddb72849320faab75 (diff)
downloadconnman-99b2c81f38ae73c1f31b8f310f4445dcab534fe8.tar.gz
connman-99b2c81f38ae73c1f31b8f310f4445dcab534fe8.tar.bz2
connman-99b2c81f38ae73c1f31b8f310f4445dcab534fe8.zip
Update RSSI/Strength of connected service using SignalPoll event
This patch reduced the SignalPoll monitor from 30 second to 10 second frequency. This patch also extracts already available parameter strength/RSSI in SignalPoll and update connected service's RSSI/Strength accordingly. Change-Id: Ie9bbb21bf50ad0b8c72e3ca2fc9f7f6500c77f23 Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
Diffstat (limited to 'gsupplicant')
-rw-r--r--gsupplicant/gsupplicant.h4
-rw-r--r--gsupplicant/supplicant.c9
2 files changed, 10 insertions, 3 deletions
diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h
index b9e99a44..0fbb4d44 100644
--- a/gsupplicant/gsupplicant.h
+++ b/gsupplicant/gsupplicant.h
@@ -297,8 +297,8 @@ typedef void (*GSupplicantInterfaceCallback) (int result,
void *user_data);
#if defined TIZEN_EXT
-typedef void (*GSupplicantMaxSpeedCallback) (int result,
- int maxspeed, void *user_data);
+typedef void (*GSupplicantMaxSpeedCallback) (int result, int maxspeed,
+ uint8_t strength, void *user_data);
#endif
void g_supplicant_interface_cancel(GSupplicantInterface *interface);
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index 66644c8b..d27fe0db 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -5506,6 +5506,7 @@ static void interface_signalpoll_result(const char *error,
struct interface_signalpoll_data *data = user_data;
int err = 0;
dbus_int32_t maxspeed = 0;
+ unsigned char strength = 0;
DBusMessageIter sub_iter, dict;
if (error) {
@@ -5534,13 +5535,19 @@ static void interface_signalpoll_result(const char *error,
SUPPLICANT_DBG("linkspeed = %d", maxspeed);
break;
}
+ case DBUS_TYPE_BYTE:
+ if (g_strcmp0(key, "rssi") == 0) {
+ dbus_message_iter_get_basic(&value, &strength);
+ SUPPLICANT_DBG("Strength = %d", strength);
+ break;
+ }
}
dbus_message_iter_next(&dict);
}
out:
if(data->callback)
- data->callback(err, maxspeed, data->user_data);
+ data->callback(err, maxspeed, strength, data->user_data);
g_free(data->path);
dbus_free(data);