diff options
author | Nishant Chaprana <n.chaprana@samsung.com> | 2019-10-11 12:00:56 +0530 |
---|---|---|
committer | Nishant Chaprana <n.chaprana@samsung.com> | 2019-10-11 12:00:56 +0530 |
commit | 85aa71a6d25c806e2ef43cbb3caddb1fcfb67f77 (patch) | |
tree | 76ac65584cf85c99ee1a24e1dc5c57296ec5e976 | |
parent | 55711cd139bfe3ecfba94288d49b311994585130 (diff) | |
download | connman-85aa71a6d25c806e2ef43cbb3caddb1fcfb67f77.tar.gz connman-85aa71a6d25c806e2ef43cbb3caddb1fcfb67f77.tar.bz2 connman-85aa71a6d25c806e2ef43cbb3caddb1fcfb67f77.zip |
Extract strength as int32 in SignalPoll method_call's replysubmit/tizen/20191011.090452
WPA Supplicant sends "rssi" as int32 in SignalPoll's method_call reply.
So strength should be int32 instead of unsigned char variable.
========================
method call time=1570774928.393859 sender=:1.24 -> destination=fi.w1.wpa_supplicant1 serial=364 path=/fi/w1/wpa_supplicant1/Interfaces/0; interface=fi.w1.wpa_supplicant1.Interface; member=SignalPoll
method return time=1570774928.395629 sender=:1.47 -> destination=:1.24 serial=327 reply_serial=364
variant array [
dict entry(
string "rssi"
variant int32 -60
)
dict entry(
string "linkspeed"
variant int32 24
)
dict entry(
string "noise"
variant int32 9999
)
dict entry(
string "frequency"
variant uint32 2452
)
]
========================
Change-Id: I23d873bf0c5560cbfaee9ef9bd78fe134f4dba93
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
-rw-r--r-- | gsupplicant/gsupplicant.h | 2 | ||||
-rw-r--r-- | gsupplicant/supplicant.c | 6 | ||||
-rw-r--r-- | plugins/wifi.c | 4 |
3 files changed, 5 insertions, 7 deletions
diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h index 220e4074..c91ee9e2 100644 --- a/gsupplicant/gsupplicant.h +++ b/gsupplicant/gsupplicant.h @@ -296,7 +296,7 @@ typedef void (*GSupplicantInterfaceCallback) (int result, #if defined TIZEN_EXT typedef void (*GSupplicantMaxSpeedCallback) (int result, int maxspeed, - uint8_t strength, void *user_data); + int strength, void *user_data); #endif void g_supplicant_interface_cancel(GSupplicantInterface *interface); diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index aa7bf16c..159c7105 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -5594,7 +5594,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; + dbus_int32_t strength = 0; DBusMessageIter sub_iter, dict; if (error) { @@ -5622,9 +5622,7 @@ static void interface_signalpoll_result(const char *error, dbus_message_iter_get_basic(&value, &maxspeed); SUPPLICANT_DBG("linkspeed = %d", maxspeed); break; - } - case DBUS_TYPE_BYTE: - if (g_strcmp0(key, "rssi") == 0) { + } else if (g_strcmp0(key, "rssi") == 0) { dbus_message_iter_get_basic(&value, &strength); SUPPLICANT_DBG("Strength = %d", strength); break; diff --git a/plugins/wifi.c b/plugins/wifi.c index 322cfa0a..e1f23aeb 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -3793,7 +3793,7 @@ static void set_connection_mode(struct connman_network *network, connman_network_set_connection_mode(network, conn_mode); } -static void signalpoll_callback(int result, int maxspeed, uint8_t strength, +static void signalpoll_callback(int result, int maxspeed, int strength, void *user_data) { struct connman_network *network = user_data; @@ -3809,7 +3809,7 @@ static void signalpoll_callback(int result, int maxspeed, uint8_t strength, DBG("maxspeed = %d, strength = %d", maxspeed, strength); if (network) { - connman_network_set_strength(network, strength); + connman_network_set_strength(network, (uint8_t)strength); connman_network_set_maxspeed(network, maxspeed); set_connection_mode(network, maxspeed); } |