From: Niraj Kumar Goit Date: Thu, 28 Jul 2016 07:12:16 +0000 (+0530) Subject: Added CAPI to get AP disconnect reason. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5ff51c12a37870e823b771d4c8711d49e04561fa;p=platform%2Fcore%2Fapi%2Fwifi.git Added CAPI to get AP disconnect reason. Change-Id: Ibde64fb3f510072d5eb9ab5f80e12b61e7734f4c Signed-off-by: Niraj Kumar Goit --- diff --git a/src/net_wifi_ap.c b/src/net_wifi_ap.c index 35595be..52cf460 100755 --- a/src/net_wifi_ap.c +++ b/src/net_wifi_ap.c @@ -1820,4 +1820,37 @@ EXPORT_API int wifi_ap_set_prefix_length(wifi_ap_h ap, unsigned char prefix_len) return _wifi_update_ap_info(profile_info); } + +EXPORT_API int wifi_ap_get_disconnect_reason(wifi_ap_h ap, + wifi_disconnect_reason_e *disconnect_reason) +{ + + CHECK_FEATURE_SUPPORTED(WIFI_FEATURE); + + int rv = NET_ERR_NONE; + + if (_wifi_libnet_check_ap_validity(ap) == false || disconnect_reason == NULL) { + WIFI_LOG(WIFI_ERROR,"[App<--TizenMW] Wrong Parameter Passed\n"); + return WIFI_ERROR_INVALID_PARAMETER; + } + + net_profile_info_t *profile_info = ap; + net_profile_info_t ap_info_local; + + rv = net_get_profile_info(profile_info->ProfileName, &ap_info_local); + if (rv == NET_ERR_ACCESS_DENIED) { + WIFI_LOG(WIFI_ERROR, "Access denied"); + return WIFI_ERROR_PERMISSION_DENIED; + } else if (rv != NET_ERR_NONE) { + WIFI_LOG(WIFI_ERROR, "Failed to Get profile_info"); + return WIFI_ERROR_OPERATION_FAILED; + } + + *disconnect_reason = ap_info_local.ProfileInfo.Wlan.disconnect_reason; + + WIFI_LOG(WIFI_INFO, "[App<--TizenMW]disconnect_reason %d\n", + *disconnect_reason); + + return WIFI_ERROR_NONE; +} #endif /* #if defined TIZEN_TV */ diff --git a/test/wifi_test.c b/test/wifi_test.c index 6bead5d..33f231f 100755 --- a/test/wifi_test.c +++ b/test/wifi_test.c @@ -802,6 +802,9 @@ static bool __test_found_print_ap_info_callback(wifi_ap_h ap, void *user_data) wifi_encryption_type_e enc_type; wifi_eap_type_e eap_type; wifi_eap_auth_type_e eap_auth_type; +#if defined TIZEN_TV + wifi_disconnect_reason_e disconnect_reason; +#endif bool bool_value; char *ap_name_part = (char*)user_data; #if defined TIZEN_TV @@ -962,7 +965,12 @@ static bool __test_found_print_ap_info_callback(wifi_ap_h ap, void *user_data) printf("WPS supported : %s\n", bool_value ? "TRUE" : "FALSE"); else printf("Fail to get WPS supported\n"); - +#if defined TIZEN_TV + if (wifi_ap_get_disconnect_reason(ap, &disconnect_reason) == WIFI_ERROR_NONE) + printf("Disconnect Reason of AP : %d\n", disconnect_reason); + else + printf("Fail to get Disconnect Reason\n"); +#endif if (sec_type != WIFI_SECURITY_TYPE_EAP) { g_free(ap_name); return false;