Fix password popup to show genlist
[apps/native/ug-wifi-efl.git] / sources / libraries / Common / common_eap_connect.c
index 7c3b678..c548953 100755 (executable)
@@ -24,8 +24,6 @@
 #include <cert-svc/cprimitives.h>
 #include <ui-gadget.h>
 #include <efl_assist.h>
-#include <utilX.h>
-#include <Ecore_X.h>
 #include <vconf-keys.h>
 #include <glib/gstdio.h>
 #include <efl_extension.h>
@@ -347,6 +345,7 @@ static void _gl_eap_type_sub_sel(void *data, Evas_Object *obj, void *event_info)
 
 static CertSvcStringList stringList;
 static CertSvcInstance instance;
+static CertSvcStoreCertList *certList = NULL;
 
 static void _gl_eap_user_cert_sel(void *data, Evas_Object *obj,
                void *event_info)
@@ -431,8 +430,7 @@ static void _create_eap_cert_list(eap_connect_data_t *eap_data,
                return;
        }
 
-       certsvc_pkcs12_get_id_list(instance, &stringList);
-       certsvc_string_list_get_length(stringList, &list_length);
+       certsvc_pkcs12_get_certificate_list_from_store(instance, WIFI_STORE, DISABLED, &certList, &list_length);
 
        if (eap_data->cert_candidates) {
                g_slist_free_full(eap_data->cert_candidates, g_free);
@@ -444,30 +442,32 @@ static void _create_eap_cert_list(eap_connect_data_t *eap_data,
        elm_object_item_domain_text_translatable_set(it,
                        PACKAGE, EINA_TRUE);
 
-       for (index = 0; index < list_length; index++) {
+       while(certList != NULL) {
                char *char_buffer = NULL;
                CertSvcString buffer;
-               int ret = certsvc_string_list_get_one(stringList, index, &buffer);
-               if (ret == CERTSVC_SUCCESS) {
-                       char_buffer = g_strndup(buffer.privateHandler, buffer.privateLength);
-                       if (char_buffer == NULL)
-                               goto exit;
 
-                       elm_ctxpopup_item_append(ctxpopup, char_buffer, NULL,
-                                       _gl_eap_user_cert_sel, eap_data);
-                       eap_data->cert_candidates =
-                                       g_slist_prepend(eap_data->cert_candidates, char_buffer);
+               buffer.privateHandler = (char *)certList->gname;
+               buffer.privateLength = strlen(certList->gname);
+               INFO_LOG(UG_NAME_NORMAL, "gname in processing : %s", certList->gname);
 
-                       certsvc_string_free(buffer);
-               } else
-                       ERROR_LOG(UG_NAME_NORMAL, "Failed to get certificates");
+               char_buffer = g_strndup(buffer.privateHandler, buffer.privateLength);
+               if (char_buffer == NULL)
+                       goto exit;
+
+               elm_ctxpopup_item_append(ctxpopup, char_buffer, NULL,
+                               _gl_eap_user_cert_sel, eap_data);
+               eap_data->cert_candidates =
+                               g_slist_prepend(eap_data->cert_candidates, char_buffer);
+
+               certsvc_string_free(buffer);
+               certList = certList->next;
        }
 
        move_dropdown(eap_data, btn);
        evas_object_show(ctxpopup);
 
 exit:
-       certsvc_instance_free(instance);
+               certsvc_instance_free(instance);
 }
 
 static void _gl_eap_cert_list_btn_cb(void *data, Evas_Object *obj,
@@ -1221,9 +1221,9 @@ static gboolean __cert_extract_files(const char *cert_alias,
                ERROR_LOG(UG_NAME_NORMAL, "failed to certsvc_string_new");
                goto error;
        }
-       ret = certsvc_pkcs12_load_certificate_list(cert_instance, cert_alias_str, &cert_list);
+       ret = certsvc_pkcs12_load_certificate_list_from_store(cert_instance, WIFI_STORE, cert_alias_str, &cert_list);
        if (ret != CERTSVC_SUCCESS) {
-               ERROR_LOG(UG_NAME_NORMAL, "failed to certsvc_pkcs12_load_certificate_list");
+               ERROR_LOG(UG_NAME_NORMAL, "failed to certsvc_pkcs12_load_certificate_list_from_store");
                goto error;
        }
        ret = certsvc_certificate_list_get_length(cert_list, &cert_counts);
@@ -1289,7 +1289,7 @@ static gboolean __cert_extract_files(const char *cert_alias,
                goto error;
        }
 
-       ret = certsvc_pkcs12_dup_evp_pkey(cert_instance, cert_alias_str, &privatekey);
+       ret = certsvc_pkcs12_dup_evp_pkey_from_store(cert_instance, WIFI_STORE, cert_alias_str, &privatekey);
 
        privatekey_path = g_strdup_printf("%s%s_%s", EAP_TLS_PATH,
                                cert_alias, EAP_TLS_PRIVATEKEY_PATH);
@@ -1606,7 +1606,6 @@ static Evas_Object* _create_list(Evas_Object* parent, void *data)
 
        eap_data->eap_done_ok = FALSE;
        eap_data->genlist = view_list = elm_genlist_add(parent);
-       elm_genlist_realization_mode_set(view_list, TRUE);
        elm_genlist_mode_set(view_list, ELM_LIST_COMPRESS);
        elm_scroller_content_min_limit(view_list, EINA_FALSE, EINA_TRUE);
 
@@ -1629,6 +1628,7 @@ static Evas_Object* _create_list(Evas_Object* parent, void *data)
        /* Create the entry items */
        _create_and_update_list_items_based_on_rules(eap_type, eap_data);
 
+       evas_object_show(view_list);
        evas_object_smart_callback_add(view_list, "language,changed",
                        gl_lang_changed, NULL);
 
@@ -1914,6 +1914,7 @@ eap_connect_data_t *create_eap_view(Evas_Object *layout_main, Evas_Object *win,
 
        Evas_Object *popup = NULL;
        Evas_Object *list = NULL;
+       Evas_Object *box = NULL;
 
        if (layout_main == NULL || device_info == NULL || pkg_name == NULL) {
                return NULL;
@@ -1975,9 +1976,16 @@ eap_connect_data_t *create_eap_view(Evas_Object *layout_main, Evas_Object *win,
        evas_object_show(popup);
        elm_object_focus_set(popup, EINA_TRUE);
 
+       box = elm_box_add(popup);
+       evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
        /* Create an EAP connect view list */
-       list = _create_list(popup, eap_data);
-       elm_object_content_set(popup, list);
+       list = _create_list(box, eap_data);
+       elm_object_content_set(box, list);
+
+       elm_box_pack_end(box, list);
+       evas_object_size_hint_min_set(box, -1, ELM_SCALE_SIZE(300));
+       elm_object_content_set(popup, box);
 
        evas_object_smart_callback_add(eap_data->conf,
                        "virtualkeypad,state,on", _eap_popup_keypad_on_cb,