Пример #1
0
e_int32 dm_free(data_manager_t *dm, int save) {
	int i, ret;
	e_assert(dm, E_ERROR_INVALID_HANDLER);

	DMSG((STDOUT,"dm_free close file save?%d\n",save));

#if START_VIDEO_SERVER
	socket_video_server_stop();
#endif

	if (display.buf)
		gray_to_jpeg_file(dm->gray_file, display.buf, display.w, display.h);

	ret = da_close(&dm->adapters_point_cloud, save);
	e_check(ret<=0);

	ret = da_close(&dm->adapters_gray, save);
	e_check(ret<=0);

	fi_close(&dm->f_tunable);

	if (dm->points_xyz)
		free(dm->points_xyz);
	if (dm->points_gray)
		free(dm->points_gray);
	free(dm);

	uninit_display();

	return E_OK;
}
Пример #2
0
int main()
{
	data_adapter_t da;
	unsigned char file_name[][64] = { "test.pcd1", "test.jpg", "test.gif",
			"/data/local/tmp/test.sprite" };

	da_open(&da, file_name[3], W, H, E_DWRITE); //data_adapter_t *da, e_uint8 *name, int mode

	point_array = malloc_points(PNT_TYPE_GRAY,H);
	points_gray = (point_gray_t*)point_array->mem;

	for (int i = 0; i < H; i++)
		points_gray[i].gray = 80;

	for (int i = 0; i < W; i++)
		da_write_column(&da,i, point_array, 0);

	for (int i = 0; i < H; i++)
		points_gray[i].gray = 160;

	for (int i = 0; i < W; i++)
		da_write_column(&da, W - i - 1, point_array, 1);

//	point_array = malloc_points(PNT_TYPE_XYZ, H);
//	points = (point_xyz_t*) point_array->mem;
//
//	for (int i = 0; i < H; i++) {
//		points[i].x = H * sin(i * M_PI / H);
//		points[i].y = H * cos(i * M_PI / H);
//		points[i].z = H * sin(M_PI - i * M_PI / H);
//	}
//
//	for (int i = 0; i < W; i++)
//		da_append_points(&da, point_array, H, 0);
//
//	for (int i = 0; i < H; i++) {
//		points[i].x += 100;
//		points[i].y += 100;
//		points[i].z += 100;
//	}
//
//	for (int i = 0; i < W; i++)
//		da_append_points(&da, point_array, H, 1);
//
	da_close(&da);
	free_points(point_array);
	printf("ALL TEST PASSED!\n");
	return 0;
}
Пример #3
0
int
trie_close (Trie *trie)
{
    if (!trie)
        return -1;

    if (da_close (trie->da) != 0)
        return -1;

    if (tail_close (trie->tail) != 0)
        return -1;

    free (trie);

    return 0;
}
Пример #4
0
/*E_READ,E_WRITE*/
e_int32
dm_free(data_manager_t *dm)
{
	int i, ret;
	data_adapter_t* pda;
	e_assert(dm, E_ERROR_INVALID_HANDLER);

	pda = dm->adapters;
	for (i = 0; i < dm->num; i++) {
		ret = da_close(&pda[i]);
		e_check(ret<=0);
		DMSG((STDOUT,"Close %d da\n",i+1));
	}

	free(dm);
	return E_OK;
}
Пример #5
0
static int da_haproxy(const struct arg *args, struct sample *smp, da_deviceinfo_t *devinfo)
{
	struct buffer *tmp;
	da_propid_t prop, *pprop;
	da_status_t status;
	da_type_t proptype;
	const char *propname;
	int i;

	tmp = get_trash_chunk();
	chunk_reset(tmp);

	propname = (const char *) args[0].data.str.area;
	i = 0;

	for (; propname != 0; i ++,
	     propname = (const char *) args[i].data.str.area) {
		status = da_atlas_getpropid(&global_deviceatlas.atlas,
			propname, &prop);
		if (status != DA_OK) {
			chunk_appendf(tmp, "%c", global_deviceatlas.separator);
			continue;
		}
		pprop = &prop;
		da_atlas_getproptype(&global_deviceatlas.atlas, *pprop, &proptype);

		switch (proptype) {
			case DA_TYPE_BOOLEAN: {
				bool val;
				status = da_getpropboolean(devinfo, *pprop, &val);
				if (status == DA_OK) {
					chunk_appendf(tmp, "%d", val);
				}
				break;
			}
			case DA_TYPE_INTEGER:
			case DA_TYPE_NUMBER: {
				long val;
				status = da_getpropinteger(devinfo, *pprop, &val);
				if (status == DA_OK) {
					chunk_appendf(tmp, "%ld", val);
				}
				break;
			}
			case DA_TYPE_STRING: {
				const char *val;
				status = da_getpropstring(devinfo, *pprop, &val);
				if (status == DA_OK) {
					chunk_appendf(tmp, "%s", val);
				}
				break;
		        }
		    default:
			break;
		}

		chunk_appendf(tmp, "%c", global_deviceatlas.separator);
	}

	da_close(devinfo);

	if (tmp->data) {
		--tmp->data;
		tmp->area[tmp->data] = 0;
	}

	smp->data.u.str.area = tmp->area;
	smp->data.u.str.data = tmp->data;

	return 1;
}