Tizen 2.1 base
[framework/uifw/ecore.git] / src / lib / ecore_job / Ecore_Job.h
1 /*
2  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
3  */
4
5 #ifndef _ECORE_JOB_H
6 #define _ECORE_JOB_H
7
8 #ifdef EAPI
9 # undef EAPI
10 #endif
11
12 #ifdef _WIN32
13 # ifdef EFL_ECORE_JOB_BUILD
14 #  ifdef DLL_EXPORT
15 #   define EAPI __declspec(dllexport)
16 #  else
17 #   define EAPI
18 #  endif /* ! DLL_EXPORT */
19 # else
20 #  define EAPI __declspec(dllimport)
21 # endif /* ! EFL_ECORE_JOB_BUILD */
22 #else
23 # ifdef __GNUC__
24 #  if __GNUC__ >= 4
25 #   define EAPI __attribute__ ((visibility("default")))
26 #  else
27 #   define EAPI
28 #  endif
29 # else
30 #  define EAPI
31 # endif
32 #endif /* ! _WIN32 */
33
34 /**
35  * @file
36  * @brief Functions for dealing with Ecore jobs.
37  */
38
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42
43 #ifndef _ECORE_JOB_PRIVATE_H
44 typedef void Ecore_Job; /**< A job handle */
45 #endif
46
47 EAPI int        ecore_job_init(void);
48 EAPI int        ecore_job_shutdown(void);
49 EAPI Ecore_Job *ecore_job_add(void (*func) (void *data), const void *data);
50 EAPI void      *ecore_job_del(Ecore_Job *job);
51
52 #ifdef __cplusplus
53 }
54 #endif
55
56 #endif