Exemplo n.º 1
0
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__;
}