static wifi_device_info_t *view_main_item_device_info_create(wifi_ap_h ap) { wifi_device_info_t *wifi_device = g_try_new0(wifi_device_info_t, 1); wifi_security_type_e sec_type; if (WIFI_ERROR_NONE != wifi_ap_clone(&(wifi_device->ap), ap)) { g_free(wifi_device); return NULL; } else if (WIFI_ERROR_NONE != wifi_ap_get_essid(ap, &(wifi_device->ssid))) { g_free(wifi_device); return NULL; } else if (WIFI_ERROR_NONE != wifi_ap_get_rssi(ap, &(wifi_device->rssi))) { g_free(wifi_device->ssid); g_free(wifi_device); return NULL; } else if (WIFI_ERROR_NONE != wifi_ap_get_security_type(ap, &sec_type)) { g_free(wifi_device->ssid); g_free(wifi_device); return NULL; } else if (WIFI_ERROR_NONE != wifi_ap_is_wps_supported(ap, &(wifi_device->wps_mode))) { g_free(wifi_device->ssid); g_free(wifi_device); return NULL; } wifi_device->security_mode = common_utils_get_sec_mode(sec_type); /*MINI*/ wifi_device->ap_status_txt = common_utils_get_ap_security_type_info_txt(PACKAGE, wifi_device, true); wifi_device->is_bt_tethered_device = false; common_utils_get_device_icon(wifi_device, &wifi_device->ap_image_path); return wifi_device; }
Elm_Object_Item *viewer_manager_add_new_item(const char *profile_name) { Elm_Object_Item *item = NULL; if (!manager_object) return NULL; /* Looks like we have received a connecting/connected event and the AP item is not present. Lets add the item to the list. */ view_datamodel_basic_info_t *data_model = view_basic_detail_datamodel_create(profile_name); if (data_model) { wifi_device_info_t *wifi_device = (wifi_device_info_t*)g_malloc0(sizeof(wifi_device_info_t)); wifi_device->profile_name = view_detail_datamodel_basic_info_profile_name_get(data_model); wifi_device->ssid = view_detail_datamodel_ap_name_get(data_model); wifi_device->rssi = (int)view_detail_datamodel_sig_strength_get(data_model); wifi_device->security_mode = view_detail_datamodel_sec_mode_get(data_model); wifi_device->wps_mode = (boolean)view_detail_datamodel_wps_support_get(data_model); wifi_device->ap_image_path = common_utils_get_device_icon(WIFI_APP_IMAGE_DIR, wifi_device); wifi_device->ap_status_txt = viewer_manager_get_device_status_txt(wifi_device, VIEWER_ITEM_RADIO_MODE_OFF); item = viewer_list_item_insert_after(manager_object->list, wifi_device, NULL, viewer_manager_genlist_normal_callback, wifi_device); view_basic_detail_datamodel_destroy(data_model); } return item; }
static void viewer_manager_update_list_all() { int i = 0; Elm_Object_Item *item = NULL; __COMMON_FUNC_ENTER__; net_profile_info_t *profiles_list = wlan_manager_profile_table_get(); if (profiles_list == NULL) return; int profiles_list_size = wlan_manager_profile_scanned_length_get(); INFO_LOG(UG_NAME_NORMAL, "profiles list count [%d]\n", profiles_list_size); if (profiles_list_size > 0) { for (i = 0; i < profiles_list_size; i++) { net_profile_info_t *profile_info = profiles_list+i; wifi_device_info_t *wifi_device = (wifi_device_info_t*)g_malloc0(sizeof(wifi_device_info_t)); wifi_device->profile_name = g_strdup(profile_info->ProfileName); wifi_device->ssid = g_strdup(profile_info->ProfileInfo.Wlan.essid); wifi_device->rssi = (int)profile_info->ProfileInfo.Wlan.Strength; wifi_device->security_mode = profile_info->ProfileInfo.Wlan.security_info.sec_mode; wifi_device->wps_mode = (int)profile_info->ProfileInfo.Wlan.security_info.wps_support; wifi_device->ap_image_path = common_utils_get_device_icon(WIFI_APP_IMAGE_DIR, wifi_device); wifi_device->ap_status_txt = viewer_manager_get_device_status_txt(wifi_device, VIEWER_ITEM_RADIO_MODE_OFF); item = viewer_list_item_insert_after(manager_object->list, wifi_device, item, viewer_manager_genlist_normal_callback, wifi_device); } } else if (profiles_list_size == 0) { /* if there is no scan_data, generate No-AP item */ wifi_device_info_t *device_info = NULL; device_info = (wifi_device_info_t *)wlan_manager_profile_device_info_blank_create(); device_info->ap_status_txt = g_strdup(""); device_info->ap_image_path = NULL; item = viewer_list_item_insert_after(manager_object->list, device_info, NULL, NULL, NULL); elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); } else { ERROR_LOG(UG_NAME_NORMAL, "Err!"); } __COMMON_FUNC_EXIT__; }