Commit Graph

222 Commits

Author SHA1 Message Date
Cedric BAIL 9e019c7227 * eio: report current operation during progress.
SVN revision: 53063
2010-10-05 14:55:47 +00:00
Cedric BAIL d85ab417fd * eio: fix docs and typos.
SVN revision: 53062
2010-10-05 14:29:58 +00:00
Cedric BAIL 5999ca1825 * eio: share more code and make copy cancellable.
SVN revision: 53057
2010-10-05 12:56:07 +00:00
Cedric BAIL bb76ca8100 * eio: share some code.
SVN revision: 53056
2010-10-05 11:44:03 +00:00
Cedric BAIL 7088845157 * eio: add eio_file_move (completly asynchronous and non
blocking move). It first try a rename, then fallback to
	an eio_file_copy + eio_file_unlink.

Small example on how to use it :
#include <Ecore.h>
#include <Eio.h>

static void
_test_done_cb(void *data)
{
   printf("move done\n");
   ecore_main_loop_quit();
}

static void
_test_error_cb(int error, void *data)
{
   fprintf(stderr, "error: [%s]\n", strerror(error));
   ecore_main_loop_quit();
}

int
main(int argc, char **argv)
{
   Eio_File *cp;

   if (argc != 3)
     {
        fprintf(stderr, "eio_cp source_file destination_file\n");
        return -1;
     }

   ecore_init();
   eio_init();

   cp = eio_file_move(argv[1], argv[2],
                      NULL,
                      _test_done_cb,
                      _test_error_cb,
                      NULL);

   ecore_main_loop_begin();

   eio_shutdown();
   ecore_shutdown();

   return 0;
}


SVN revision: 52845
2010-09-28 09:05:51 +00:00
Cedric BAIL 135a0f570a * eio: add eio_file_copy (using splice when available and
fallback to mmap/write with huge tlb when not).

That what an eio_cp would look like :

#include <Ecore.h>
#include <Eio.h>

static void
_test_progress_cb(void *data, const Eio_Progress *info)
{
   printf("%f (%zi / %zi octets)\n", info->percent, info->current, info->max);
}

static void
_test_done_cb(void *data)
{
   printf("copy done\n");
   ecore_main_loop_quit();
}

static void
_test_error_cb(int error, void *data)
{
   fprintf(stderr, "error: [%s]\n", strerror(error));
   ecore_main_loop_quit();
}

int
main(int argc, char **argv)
{
   Eio_File *cp;

   if (argc != 3)
     {
        fprintf(stderr, "eio_cp source_file destination_file\n");
        return -1;
     }

   ecore_init();
   eio_init();

   cp = eio_file_copy(argv[1], argv[2],
                      _test_progress_cb,
                      _test_done_cb,
                      _test_error_cb,
                      NULL);

   ecore_main_loop_begin();

   eio_shutdown();
   ecore_shutdown();

   return 0;
}




SVN revision: 52787
2010-09-26 21:47:48 +00:00
Cedric BAIL 8036a32918 * ecore: rename ecore_long_run to ecore_thread_feedback_run.
SVN revision: 52573
2010-09-22 09:47:55 +00:00
Cedric BAIL d287f127fd * eio: callback are allowed to modify their own data.
Don't know how I wrote this non sense.


SVN revision: 52189
2010-09-13 13:44:24 +00:00
Cedric BAIL bf9609ebff * eio: make it compile on Windows. Thanks Vincent !
SVN revision: 51955
2010-09-07 15:47:11 +00:00
Cedric BAIL 0a4134fd5f * eio: return errno on error.
SVN revision: 51946
2010-09-07 14:43:51 +00:00
Cedric BAIL cbff3eb25a * eio: major cleanup.
SVN revision: 51927
2010-09-06 16:37:43 +00:00
Cedric BAIL ea791dccc5 * eio: minor cleanup and add stat support.
SVN revision: 51925
2010-09-06 15:27:10 +00:00
Cedric BAIL 9fb5bfffed * eio: limit number of threads used by eio_file_ls.
SVN revision: 51861
2010-09-03 13:38:49 +00:00
Cedric BAIL 810afbdf9e * eio: add eio_file_unlink.
SVN revision: 51840
2010-09-02 13:39:59 +00:00
Cedric BAIL eeafcb3be5 * eio: oops, forgot to add those files.
SVN revision: 51800
2010-09-01 08:23:15 +00:00
Cedric BAIL 1915b760ee * eio: start to implement new cleaner API.
SVN revision: 51784
2010-08-31 16:24:58 +00:00
Iván Briano 196b7ddf2d eina-0 is no more, check for the right package name
SVN revision: 51227
2010-08-16 20:20:57 +00:00
titan 83c74eccb5 Cleanups
SVN revision: 50777
2010-08-03 17:59:55 +00:00
titan bdb6e0f0ed *Warning Breaks API so if you use eio, make the necessary changes* Make the changes k-s requested. Use Enums, Use shorter code, Change the format of the callbacks to be data first value last, etc..
SVN revision: 50771
2010-08-03 17:11:44 +00:00
titan 0ae939099c Add the ability to perform standard IO operations on a file in a thread.
SVN revision: 50618
2010-07-28 22:12:41 +00:00
Cedric BAIL 4df9bbead1 * eio: Add an error callback, some docs and a small README.
SVN revision: 50446
2010-07-23 11:00:44 +00:00
Cedric BAIL c5cc3b6e19 * eio: please welcome our asynchronous input output library.
NOTE: right now only help with file listing and provide a
	wrapper around eina_file_ls and eina_file_direct_ls and ecore_long_run.
	But the idea is to do the same with all Ecore_File code so that one
	day we can remove Ecore_File.


SVN revision: 50429
2010-07-22 16:08:17 +00:00