forked from enlightenment/efl
ecore_file_download() is BROKEN!!
Put in a super-simple example that should download a file and report the progress during the operation. See the ml for more info SVN revision: 56333
This commit is contained in:
parent
4cb086f57b
commit
38c1887ff9
|
@ -0,0 +1,65 @@
|
|||
#include <stdio.h>
|
||||
#include <Ecore.h>
|
||||
#include <Ecore_File.h>
|
||||
|
||||
/*
|
||||
* ecore_file_download() example
|
||||
*
|
||||
* compile with:
|
||||
* gcc ecore_file_download_example.c `pkg-config --libs --cflags ecore-file` \
|
||||
* -o ecore_file_download_example
|
||||
*
|
||||
*/
|
||||
|
||||
#define URL "http://cdimage.ubuntu.com/releases/10.10/release/ubuntu-10.10-dvd-i386.iso.zsync"
|
||||
#define DST "ubuntu.zsync"
|
||||
|
||||
|
||||
void
|
||||
completion_cb(void *data, const char *file, int status)
|
||||
{
|
||||
printf("Done (status: %d)\n", status);
|
||||
ecore_main_loop_quit();
|
||||
}
|
||||
|
||||
int
|
||||
progress_cb(void *data, const char *file,
|
||||
long int dltotal, long int dlnow,
|
||||
long int ultotal, long int ulnow)
|
||||
{
|
||||
printf("Progress: %ld/%ld\n", dlnow, dltotal);
|
||||
return ECORE_CALLBACK_RENEW;
|
||||
}
|
||||
|
||||
|
||||
int main(void)
|
||||
{
|
||||
double start;
|
||||
|
||||
eina_init();
|
||||
ecore_init();
|
||||
ecore_file_init();
|
||||
|
||||
if (ecore_file_exists(DST))
|
||||
ecore_file_unlink(DST);
|
||||
|
||||
start = ecore_time_get();
|
||||
|
||||
if (ecore_file_download(URL, DST, completion_cb, progress_cb, NULL, NULL))
|
||||
{
|
||||
printf("Download started successfully:\n URL: %s\n DEST: %s\n", URL, DST);
|
||||
ecore_main_loop_begin();
|
||||
printf("\nTime elapsed: %f seconds\n", ecore_time_get() - start);
|
||||
printf("Downloaded %lld bytes\n", ecore_file_size(DST));
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("Error, can't start download\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
ecore_file_shutdown();
|
||||
ecore_shutdown();
|
||||
eina_shutdown();
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue