diff options
author | Nishant Chaprana <n.chaprana@samsung.com> | 2019-04-30 17:52:29 +0530 |
---|---|---|
committer | Nishant Chaprana <n.chaprana@samsung.com> | 2019-08-27 10:04:53 +0530 |
commit | 99b2c81f38ae73c1f31b8f310f4445dcab534fe8 (patch) | |
tree | ae32a8743d0fb8137a81d0113ae3aae8ea18c8c1 /gsupplicant | |
parent | d9c4473ac7a38978f0c8922ddb72849320faab75 (diff) | |
download | connman-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.h | 4 | ||||
-rw-r--r-- | gsupplicant/supplicant.c | 9 |
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); |