+ char *profile_name = (char *)data;
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ g_free(profile_name);
+ __COMMON_FUNC_EXIT__;
+}
+
+static void _popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ __COMMON_FUNC_ENTER__;
+ if (!ug_app_state->passpopup || !data) {
+ return;
+ }
+
+ char *profile_name = (char *)data;
+ wlan_security_mode_type_t sec_mode;
+ view_datamodel_basic_info_t *basic_data_model = view_basic_detail_datamodel_create(profile_name);
+ if (!basic_data_model) {
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ g_free(profile_name);
+ return;
+ }
+ int ret = WLAN_MANAGER_ERR_NONE;
+ int nLen = 0;
+ const char* szPassword = common_pswd_popup_get_txt(ug_app_state->passpopup);
+ nLen = strlen(szPassword);
+ INFO_LOG(UG_NAME_NORMAL, "password = [%s]", szPassword);
+
+ sec_mode = view_detail_datamodel_sec_mode_get(basic_data_model);
+ switch (sec_mode) {
+ case WLAN_SEC_MODE_WEP:
+
+ if (nLen != 5 && nLen != 13 && nLen != 26 && nLen != 10) {
+ winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_WEP_PSWD_LEN_ERROR, NULL);
+ goto popup_ok_cb_exit;
+ }
+
+ break;
+
+ case WLAN_SEC_MODE_WPA_PSK:
+ case WLAN_SEC_MODE_WPA2_PSK:
+
+ if (nLen < 8 || nLen > 63) {
+ winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_WPA_PSWD_LEN_ERROR, NULL);
+ goto popup_ok_cb_exit;
+ }
+ break;
+
+ default:
+ ERROR_LOG(UG_NAME_SCAN, "Fatal: Wrong security mode : %d", sec_mode);
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ g_free(profile_name);
+ goto popup_ok_cb_exit;
+ }
+
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+
+ INFO_LOG(UG_NAME_SCAN, "connect with password comp");
+ wlan_manager_password_data param;
+ memset(¶m, 0, sizeof(wlan_manager_password_data));
+ param.wlan_eap_type = WLAN_MANAGER_EAP_TYPE_NONE;
+ param.password = szPassword;
+ ret = wlan_manager_connect_with_password(profile_name, sec_mode, ¶m);
+ if (WLAN_MANAGER_ERR_NONE == ret) {
+ viewer_manager_header_mode_set(HEADER_MODE_CONNECTING);
+ } else {
+ ERROR_LOG(UG_NAME_SCAN, "wlan error %d", ret);
+ viewer_manager_header_mode_set(HEADER_MODE_ON);
+ }
+
+ g_free(profile_name);
+
+popup_ok_cb_exit:
+ g_free((gpointer)szPassword);
+ view_basic_detail_datamodel_destroy(basic_data_model);
+
+ __COMMON_FUNC_EXIT__;
+}
+
+static void _wps_pbc_popup_cancel_connecting(void* data, Evas_Object* obj, void* event_info)
+{
+ if (!ug_app_state->passpopup || !data) {
+ return;
+ }
+
+ char *profile_name = (char *)data;
+ int ret = wlan_manager_request_cancel_wps_connection(profile_name);
+ if (ret == WLAN_MANAGER_ERR_NONE) {
+ INFO_LOG(UG_NAME_NORMAL, "WPS conection cancelled successfully for AP[%s]", profile_name);
+ } else {
+ ERROR_LOG(UG_NAME_NORMAL, "Error!!! wlan_manager_request_cancel_wps_connection failed for AP[%s]", profile_name);
+ }
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ viewer_manager_header_mode_set(HEADER_MODE_ON);
+ g_free(profile_name);
+ return;
+}
+
+static void _wps_btn_cb(void* data, Evas_Object* obj, void* event_info)
+{
+ __COMMON_FUNC_ENTER__;
+ if (!ug_app_state->passpopup || !data) {
+ return;