efl
1//Compile with:
2// gcc -o ecore_job_example ecore_job_example.c `pkg-config --libs --cflags ecore`
3
4#include <Ecore.h>5#include <unistd.h>6
7static void8_job_print_cb(void *data)9{
10char *str = data;11
12printf("%s\n", str);13}
14
15static void16_job_quit_cb(void *data EINA_UNUSED)17{
18ecore_main_loop_quit();19}
20
21int
22main(void)23{
24Ecore_Job *job1, *job2, *job3, *job_quit;25char *str1 = "Job 1 started.";26char *str2 = "Job 2 started.";27char *str3 = "Job 3 started.";28
29if (!ecore_init())30{31printf("ERROR: Cannot init Ecore!\n");32return -1;33}34
35job1 = ecore_job_add(_job_print_cb, str1);36job2 = ecore_job_add(_job_print_cb, str2);37job3 = ecore_job_add(_job_print_cb, str3);38
39job_quit = ecore_job_add(_job_quit_cb, NULL);40
41(void)job1;42(void)job3;43(void)job_quit;44
45printf("Created jobs 1, 2, 3 and quit.\n");46
47if (job2)48{49char *str;50str = ecore_job_del(job2);51job2 = NULL;52printf("Deleted job 2. Its data was: \"%s\"\n", str);53}54
55ecore_main_loop_begin();56ecore_shutdown();57
58return 0;59}
60
61