diff options
Diffstat (limited to 'gsupplicant/supplicant.c')
-rw-r--r-- | gsupplicant/supplicant.c | 9 |
1 files changed, 8 insertions, 1 deletions
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); |