efl/eio: use eina_file_copy()

SVN revision: 81944
This commit is contained in:
Gustavo Sverzut Barbieri 2012-12-31 23:45:24 +00:00
parent a06b26817c
commit a7006061b2
2 changed files with 66 additions and 2 deletions

View File

@ -12,7 +12,9 @@ AM_CPPFLAGS = \
-I$(top_builddir)/src/lib/ecore \
-I$(top_builddir)/src/lib/eio
EXTRA_PROGRAMS = eio_file_ls
EXTRA_PROGRAMS = \
eio_file_ls \
eio_file_copy
eio_file_ls_SOURCES = eio_file_ls.c
eio_file_ls_LDADD = \
@ -23,8 +25,18 @@ $(top_builddir)/src/lib/eet/libeet.la \
$(top_builddir)/src/lib/eina/libeina.la \
@EIO_LDFLAGS@
eio_file_copy_SOURCES = eio_file_copy.c
eio_file_copy_LDADD = \
$(top_builddir)/src/lib/eio/libeio.la \
$(top_builddir)/src/lib/eo/libeo.la \
$(top_builddir)/src/lib/ecore/libecore.la \
$(top_builddir)/src/lib/eet/libeet.la \
$(top_builddir)/src/lib/eina/libeina.la \
@EIO_LDFLAGS@
SRCS = \
eio_file_ls
eio_file_ls.c \
eio_file_copy.c
examples: $(EXTRA_PROGRAMS)

View File

@ -0,0 +1,52 @@
/**
* Compile with gcc -o eio_file_copy eio_file_copy.c `pkg-config --cflags --libs ecore eio`
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <Eio.h>
#include <Ecore.h>
static void
_progress_cb(void *data EINA_UNUSED, Eio_File *handle EINA_UNUSED, const Eio_Progress *info)
{
printf("progress: %5lld/%lld (%3.0f%%)\n", info->current, info->max,
info->percent);
}
static void
_done_cb(void *data EINA_UNUSED, Eio_File *handle EINA_UNUSED)
{
puts("Successfully finished copy");
ecore_main_loop_quit();
}
static void
_error_cb(void *data EINA_UNUSED, Eio_File *handle EINA_UNUSED, int error)
{
fprintf(stderr, "Something wrong has happend:%s\n", strerror(error));
ecore_main_loop_quit();
}
int
main(int argc, char **argv)
{
if (argc != 3)
{
fprintf(stderr, "Usage: %s <src> <dst>\n", argv[0]);
return EXIT_FAILURE;
}
ecore_init();
eio_init();
eio_file_copy(argv[1], argv[2], _progress_cb, _done_cb, _error_cb, NULL);
ecore_main_loop_begin();
eio_shutdown();
ecore_shutdown();
return 0;
}