Fix to specify that WIFI_MANAGER_ERROR_NOW_IN_PROGRESS is returned 70/198770/3 submit/tizen/20190130.012311 submit/tizen/20190130.064512
authorCheoleun Moon <chleun.moon@samsung.com>
Tue, 29 Jan 2019 09:01:11 +0000 (18:01 +0900)
committerCheoleun Moon <chleun.moon@samsung.com>
Tue, 29 Jan 2019 09:22:48 +0000 (18:22 +0900)
1. Although some APIs return WIFI_MANAGER_ERROR_NOW_IN_PROGRESS, the
description of those APIs don't specify it.
2. wifi_manager_connect() return WIFI_MANAGER_ERROR_OPERATION_FAILED
instead of WIFI_MANAGER_ERROR_NOW_IN_PROGRESS in the scenario that AP requires password.
Fix to return the correct error.

Change-Id: Ibb5fe266d150f8b1c43137081d4da787df5a0f4a
Signed-off-by: Cheoleun Moon <chleun.moon@samsung.com>
include/wifi-manager.h
src/wifi_internal.c

index d3fa9ea..435d630 100755 (executable)
@@ -1134,6 +1134,7 @@ int wifi_manager_deinitialize(wifi_manager_h wifi);
  * @retval #WIFI_MANAGER_ERROR_NOT_INITIALIZED      Not initialized
  * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER    Invalid parameter
  * @retval #WIFI_MANAGER_ERROR_INVALID_OPERATION    Invalid operation
+ * @retval #WIFI_MANAGER_ERROR_NOW_IN_PROGRESS      Now in progress
  * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED     Operation failed
  * @retval #WIFI_MANAGER_ERROR_SECURITY_RESTRICTED  Restricted by security system policy
  * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED    Permission Denied
@@ -1160,6 +1161,7 @@ int wifi_manager_activate(wifi_manager_h wifi, wifi_manager_activated_cb callbac
  * @retval #WIFI_MANAGER_ERROR_NOT_INITIALIZED      Not initialized
  * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER    Invalid parameter
  * @retval #WIFI_MANAGER_ERROR_INVALID_OPERATION    Invalid operation
+ * @retval #WIFI_MANAGER_ERROR_NOW_IN_PROGRESS      Now in progress
  * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED     Operation failed
  * @retval #WIFI_MANAGER_ERROR_SECURITY_RESTRICTED  Restricted by security system policy
  * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED    Permission Denied
@@ -1529,6 +1531,7 @@ int wifi_manager_foreach_found_bssid_ap(wifi_manager_h wifi,
  * @retval #WIFI_MANAGER_ERROR_NOT_INITIALIZED      Not initialized
  * @retval #WIFI_MANAGER_ERROR_INVALID_OPERATION    Invalid operation
  * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER    Invalid parameter
+ * @retval #WIFI_MANAGER_ERROR_NOW_IN_PROGRESS      Now in progress
  * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED     Operation failed
  * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED    Permission Denied
  * @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED        Not supported
@@ -1585,6 +1588,7 @@ int wifi_manager_disconnect(wifi_manager_h wifi, wifi_manager_ap_h ap, wifi_mana
  * @retval #WIFI_MANAGER_ERROR_NOT_INITIALIZED      Not initialized
  * @retval #WIFI_MANAGER_ERROR_INVALID_OPERATION    Invalid operation
  * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER    Invalid parameter
+ * @retval #WIFI_MANAGER_ERROR_NOW_IN_PROGRESS      Now in progress
  * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED     Operation failed
  * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED    Permission Denied
  * @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED        Not supported
@@ -1614,6 +1618,7 @@ int wifi_manager_connect_by_wps_pbc(wifi_manager_h wifi,
  * @retval #WIFI_MANAGER_ERROR_NOT_INITIALIZED      Not initialized
  * @retval #WIFI_MANAGER_ERROR_INVALID_OPERATION    Invalid operation
  * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER    Invalid parameter
+ * @retval #WIFI_MANAGER_ERROR_NOW_IN_PROGRESS      Now in progress
  * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED     Operation failed
  * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED    Permission Denied
  * @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED        Not supported
@@ -1643,6 +1648,7 @@ int wifi_manager_connect_by_wps_pin(wifi_manager_h wifi,
  * @retval #WIFI_MANAGER_ERROR_NOT_INITIALIZED      Not initialized
  * @retval #WIFI_MANAGER_ERROR_INVALID_OPERATION    Invalid operation
  * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER    Invalid parameter
+ * @retval #WIFI_MANAGER_ERROR_NOW_IN_PROGRESS      Now in progress
  * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED     Operation failed
  * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED    Permission denied
  * @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED        Not supported
@@ -1674,6 +1680,7 @@ int wifi_manager_connect_by_wps_pbc_without_ssid(wifi_manager_h wifi,
  * @retval #WIFI_MANAGER_ERROR_NOT_INITIALIZED      Not initialized
  * @retval #WIFI_MANAGER_ERROR_INVALID_OPERATION    Invalid operation
  * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER    Invalid parameter
+ * @retval #WIFI_MANAGER_ERROR_NOW_IN_PROGRESS      Now in progress
  * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED     Operation failed
  * @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED    Permission denied
  * @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED        Not supported
index 239b0ef..277d1f4 100755 (executable)
@@ -523,11 +523,7 @@ static int __connect_with_wifi_info(net_profile_info_s *ap_info)
        __convert_profile_info_to_wifi_info(&wifi_info, ap_info);
 
        rv = net_open_connection_with_wifi_info(&wifi_info);
-       if (rv == NET_ERR_ACCESS_DENIED) {
-               WIFI_LOG(WIFI_ERROR, "Access denied"); //LCOV_EXCL_LINE
-               return WIFI_MANAGER_ERROR_PERMISSION_DENIED; //LCOV_EXCL_LINE
-       } else if (rv != NET_ERR_NONE)
-               return WIFI_MANAGER_ERROR_OPERATION_FAILED; //LCOV_EXCL_LINE
+       return rv;
 
        return WIFI_MANAGER_ERROR_NONE;
 }
@@ -1588,23 +1584,10 @@ int _wifi_activate(wifi_manager_h wifi, wifi_manager_activated_cb callback,
        int rv = NET_ERR_NONE;
 
        rv = net_wifi_power_on(wifi_picker_test);
-       if (rv == NET_ERR_ACCESS_DENIED) {
-               WIFI_LOG(WIFI_ERROR, "Access denied"); //LCOV_EXCL_LINE
-               return WIFI_MANAGER_ERROR_PERMISSION_DENIED; //LCOV_EXCL_LINE
-       } else if (rv == NET_ERR_INVALID_OPERATION) {
-               return WIFI_MANAGER_ERROR_INVALID_OPERATION; //LCOV_EXCL_LINE
-       } else if (rv == NET_ERR_ALREADY_EXISTS) {
-               return WIFI_MANAGER_ERROR_ALREADY_EXISTS; //LCOV_EXCL_LINE
-       } else if (rv == NET_ERR_IN_PROGRESS) {
-               return WIFI_MANAGER_ERROR_NOW_IN_PROGRESS; //LCOV_EXCL_LINE
-       } else if (rv == NET_ERR_SECURITY_RESTRICTED) {
-               return WIFI_MANAGER_ERROR_SECURITY_RESTRICTED; //LCOV_EXCL_LINE
-       } else if (rv == NET_ERR_NONE) {
+       rv = __convert_to_ap_error_type(rv);
+       if (rv == WIFI_MANAGER_ERROR_NONE)
                __set_activated_cb(wifi, callback, user_data);
-               return WIFI_MANAGER_ERROR_NONE;
-       }
-
-       return WIFI_MANAGER_ERROR_OPERATION_FAILED; //LCOV_EXCL_LINE
+       return rv;
 }
 
 int _wifi_deactivate(wifi_manager_h wifi, wifi_manager_deactivated_cb callback, void *user_data)
@@ -1612,23 +1595,11 @@ int _wifi_deactivate(wifi_manager_h wifi, wifi_manager_deactivated_cb callback,
        int rv = NET_ERR_NONE;
 
        rv = net_wifi_power_off();
-       if (rv == NET_ERR_ACCESS_DENIED) {
-               WIFI_LOG(WIFI_ERROR, "Access denied"); //LCOV_EXCL_LINE
-               return WIFI_MANAGER_ERROR_PERMISSION_DENIED; //LCOV_EXCL_LINE
-       } else if (rv == NET_ERR_INVALID_OPERATION) {
-               return WIFI_MANAGER_ERROR_INVALID_OPERATION; //LCOV_EXCL_LINE
-       } else if (rv == NET_ERR_ALREADY_EXISTS) {
-               return WIFI_MANAGER_ERROR_ALREADY_EXISTS; //LCOV_EXCL_LINE
-       } else if (rv == NET_ERR_IN_PROGRESS) {
-               return WIFI_MANAGER_ERROR_NOW_IN_PROGRESS; //LCOV_EXCL_LINE
-       } else if (rv == NET_ERR_SECURITY_RESTRICTED) {
-               return WIFI_MANAGER_ERROR_SECURITY_RESTRICTED; //LCOV_EXCL_LINE
-       } else if (rv == NET_ERR_NONE) {
+       rv = __convert_to_ap_error_type(rv);
+       if (rv == WIFI_MANAGER_ERROR_NONE)
                __set_deactivated_cb(wifi, callback, user_data);
-               return WIFI_MANAGER_ERROR_NONE;
-       }
 
-       return WIFI_MANAGER_ERROR_OPERATION_FAILED; //LCOV_EXCL_LINE
+       return rv;
 }
 
 
@@ -2526,12 +2497,8 @@ int _wifi_connect_with_wps_pbc(wifi_manager_h wifi, wifi_manager_ap_h ap_h,
        wps_info.type = WIFI_WPS_PBC;
 
        rv = net_wifi_enroll_wps(ap_info->ProfileName, &wps_info);
-       if (rv == NET_ERR_ACCESS_DENIED) {
-               WIFI_LOG(WIFI_ERROR, "Access denied");
-               return WIFI_MANAGER_ERROR_PERMISSION_DENIED;
-       } else if (rv != NET_ERR_NONE) {
-               return WIFI_MANAGER_ERROR_OPERATION_FAILED;
-       }
+       if (rv != NET_ERR_NONE)
+               return __convert_to_ap_error_type(rv);
 
        __set_connected_cb(wifi, callback, user_data);
 
@@ -2554,12 +2521,8 @@ int _wifi_connect_with_wps_pin(wifi_manager_h wifi, wifi_manager_ap_h ap_h,
        g_strlcpy(wps_info.pin, pin, NET_WLAN_MAX_WPSPIN_LEN + 1);
 
        rv = net_wifi_enroll_wps(ap_info->ProfileName, &wps_info);
-       if (rv == NET_ERR_ACCESS_DENIED) {
-               WIFI_LOG(WIFI_ERROR, "Access denied");
-               return WIFI_MANAGER_ERROR_PERMISSION_DENIED;
-       } else if (rv != NET_ERR_NONE) {
-               return WIFI_MANAGER_ERROR_OPERATION_FAILED;
-       }
+       if (rv != NET_ERR_NONE)
+               return __convert_to_ap_error_type(rv);
 
        __set_connected_cb(wifi, callback, user_data);
 
@@ -2676,6 +2639,7 @@ int _wifi_update_ap_info(net_profile_info_s *ap_info)
 int _wifi_connect_with_wps_pbc_without_ssid(wifi_manager_h wifi,
                wifi_manager_connected_cb callback, void *user_data)
 {
+       int rv;
        net_wifi_wps_info_s wps_info;
        net_profile_info_s *profile = NULL;
        GSList *list;
@@ -2695,15 +2659,18 @@ int _wifi_connect_with_wps_pbc_without_ssid(wifi_manager_h wifi,
                                profile->ProfileState == NET_STATE_TYPE_CONFIGURATION ||
                                profile->ProfileState == NET_STATE_TYPE_READY ||
                                profile->ProfileState == NET_STATE_TYPE_ONLINE) {
-                       if (net_close_connection(profile->ProfileName) != NET_ERR_NONE)
-                               return WIFI_MANAGER_ERROR_OPERATION_FAILED;
+                       rv = net_close_connection(profile->ProfileName);
+                       if (rv != NET_ERR_NONE)
+                               return __convert_to_ap_error_type(rv);
                        is_disconnect_wps_pbc = true;
                }
        }
 
-       if (!is_disconnect_wps_pbc)
-               if (net_wifi_enroll_wps_without_ssid(&wps_info) != NET_ERR_NONE)
-                       return WIFI_MANAGER_ERROR_OPERATION_FAILED;
+       if (!is_disconnect_wps_pbc) {
+               rv = net_wifi_enroll_wps_without_ssid(&wps_info);
+               if (rv != NET_ERR_NONE)
+                       return __convert_to_ap_error_type(rv);
+       }
 
        __set_connected_cb(wifi, callback, user_data);
 
@@ -2713,6 +2680,7 @@ int _wifi_connect_with_wps_pbc_without_ssid(wifi_manager_h wifi,
 int _wifi_connect_with_wps_pin_without_ssid(wifi_manager_h wifi, const char *pin,
                wifi_manager_connected_cb callback, void* user_data)
 {
+       int rv;
        net_wifi_wps_info_s wps_info;
        net_profile_info_s *profile = NULL;
        GSList *list;
@@ -2734,15 +2702,18 @@ int _wifi_connect_with_wps_pin_without_ssid(wifi_manager_h wifi, const char *pin
                                profile->ProfileState == NET_STATE_TYPE_CONFIGURATION ||
                                profile->ProfileState == NET_STATE_TYPE_READY ||
                                profile->ProfileState == NET_STATE_TYPE_ONLINE) {
-                       if (net_close_connection(profile->ProfileName) != NET_ERR_NONE)
-                               return WIFI_MANAGER_ERROR_OPERATION_FAILED;
+                       rv = net_close_connection(profile->ProfileName);
+                       if (rv != NET_ERR_NONE)
+                               return __convert_to_ap_error_type(rv);
                        is_disconnect_wps_pin = true;
                }
        }
 
-       if (!is_disconnect_wps_pin)
-               if (net_wifi_enroll_wps_without_ssid(&wps_info) != NET_ERR_NONE)
-                       return WIFI_MANAGER_ERROR_OPERATION_FAILED;
+       if (!is_disconnect_wps_pin) {
+               rv = net_wifi_enroll_wps_without_ssid(&wps_info);
+               if (rv != NET_ERR_NONE)
+                       return __convert_to_ap_error_type(rv);
+       }
 
        __set_connected_cb(wifi, callback, user_data);
 
@@ -3525,7 +3496,8 @@ int _wifi_get_connection_mode(wifi_manager_connection_mode_e *mode)
        return WIFI_MANAGER_ERROR_NONE;
 }
 
-int _wifi_get_service_state() {
+int _wifi_get_service_state()
+{
        wifi_service_state_e ret = WIFI_SERVICE_STATE_UNKNOWN;
        net_state_type_e service_state = net_get_service_state();