1 #ifndef _ECORE_PRIVATE_H
2 #define _ECORE_PRIVATE_H
4 extern int _ecore_log_dom ;
5 #ifdef _ECORE_DEFAULT_LOG_DOM
6 # undef _ECORE_DEFAULT_LOG_DOM
8 #define _ECORE_DEFAULT_LOG_DOM _ecore_log_dom
10 #ifdef ECORE_DEFAULT_LOG_COLOR
11 # undef ECORE_DEFAULT_LOG_COLOR
13 #define ECORE_DEFAULT_LOG_COLOR EINA_COLOR_BLUE
18 #define ERR(...) EINA_LOG_DOM_ERR(_ECORE_DEFAULT_LOG_DOM, __VA_ARGS__)
23 #define DBG(...) EINA_LOG_DOM_DBG(_ECORE_DEFAULT_LOG_DOM, __VA_ARGS__)
28 #define INF(...) EINA_LOG_DOM_INFO(_ECORE_DEFAULT_LOG_DOM, __VA_ARGS__)
33 #define WRN(...) EINA_LOG_DOM_WARN(_ECORE_DEFAULT_LOG_DOM, __VA_ARGS__)
38 #define CRIT(...) EINA_LOG_DOM_CRIT(_ECORE_DEFAULT_LOG_DOM, __VA_ARGS__)
41 # define PATH_MAX 4096
45 # define MIN(x, y) (((x) > (y)) ? (y) : (x))
49 # define MAX(x, y) (((x) > (y)) ? (x) : (y))
53 # define ABS(x) ((x) < 0 ? -(x) : (x))
57 # define CLAMP(x, min, max) (((x) > (max)) ? (max) : (((x) < (min)) ? (min) : (x)))
60 #define READBUFSIZ 65536
62 #define ECORE_MAGIC_NONE 0x1234fedc
63 #define ECORE_MAGIC_EXE 0xf7e812f5
64 #define ECORE_MAGIC_TIMER 0xf7d713f4
65 #define ECORE_MAGIC_IDLER 0xf7c614f3
66 #define ECORE_MAGIC_IDLE_ENTERER 0xf7b515f2
67 #define ECORE_MAGIC_IDLE_EXITER 0xf7601afd
68 #define ECORE_MAGIC_FD_HANDLER 0xf7a416f1
69 #define ECORE_MAGIC_EVENT_HANDLER 0xf79317f0
70 #define ECORE_MAGIC_EVENT_FILTER 0xf78218ff
71 #define ECORE_MAGIC_EVENT 0xf77119fe
72 #define ECORE_MAGIC_ANIMATOR 0xf7643ea5
73 #define ECORE_MAGIC_POLLER 0xf7568127
74 #define ECORE_MAGIC_PIPE 0xf7458226
75 #define ECORE_MAGIC_WIN32_HANDLER 0xf7e8f1a3
76 #define ECORE_MAGIC_JOB 0x76543210
79 #define ECORE_MAGIC Ecore_Magic __magic
81 #define ECORE_MAGIC_SET(d, m) (d)->__magic = (m)
82 #define ECORE_MAGIC_CHECK(d, m) ((d) && ((d)->__magic == (m)))
83 #define ECORE_MAGIC_FAIL(d, m, fn) _ecore_magic_fail((d), (d) ? (d)->__magic : 0, (m), (fn));
85 /* undef the following, we want our version */
87 #define FREE(ptr) free(ptr); ptr = NULL;
90 #define IF_FREE(ptr) if (ptr) free(ptr); ptr = NULL;
93 #define IF_FN_DEL(_fn, ptr) if (ptr) { _fn(ptr); ptr = NULL; }
95 EAPI void ecore_print_warning(const char *function, const char *sparam);
97 /* convenience macros for checking pointer parameters for non-NULL */
98 #undef CHECK_PARAM_POINTER_RETURN
99 #define CHECK_PARAM_POINTER_RETURN(sparam, param, ret) \
102 ecore_print_warning(__FUNCTION__, sparam); \
106 #undef CHECK_PARAM_POINTER
107 #define CHECK_PARAM_POINTER(sparam, param) \
110 ecore_print_warning(__FUNCTION__, sparam); \
114 typedef unsigned int Ecore_Magic;
116 EAPI void _ecore_magic_fail(const void *d, Ecore_Magic m, Ecore_Magic req_m, const char *fname);
118 void _ecore_timer_shutdown(void);
119 void _ecore_timer_cleanup(void);
120 void _ecore_timer_enable_new(void);
121 double _ecore_timer_next_get(void);
122 int _ecore_timers_exists(void);
123 int _ecore_timer_call(double when);
125 void _ecore_idler_shutdown(void);
126 int _ecore_idler_call(void);
127 int _ecore_idler_exist(void);
129 void _ecore_idle_enterer_shutdown(void);
130 void _ecore_idle_enterer_call(void);
131 int _ecore_idle_enterer_exist(void);
133 void _ecore_idle_exiter_shutdown(void);
134 void _ecore_idle_exiter_call(void);
135 int _ecore_idle_exiter_exist(void);
137 void _ecore_event_shutdown(void);
138 int _ecore_event_exist(void);
139 Ecore_Event *_ecore_event_add(int type, void *ev, void (*func_free) (void *data, void *ev), void *data);
140 void _ecore_event_call(void);
142 Ecore_Timer *_ecore_exe_doomsday_clock_get(Ecore_Exe *exe);
143 void _ecore_exe_doomsday_clock_set(Ecore_Exe *exe, Ecore_Timer *dc);
145 EAPI void *_ecore_event_signal_user_new(void);
146 void *_ecore_event_signal_hup_new(void);
147 void *_ecore_event_signal_exit_new(void);
148 void *_ecore_event_signal_power_new(void);
149 void *_ecore_event_signal_realtime_new(void);
151 void _ecore_main_shutdown(void);
154 static inline void _ecore_signal_shutdown(void) { }
155 static inline void _ecore_signal_init(void) { }
156 static inline int _ecore_signal_count_get(void) { return 0; }
157 static inline void _ecore_signal_call(void) { }
159 void _ecore_signal_shutdown(void);
160 void _ecore_signal_init(void);
161 int _ecore_signal_count_get(void);
162 void _ecore_signal_call(void);
165 void _ecore_exe_init(void);
166 void _ecore_exe_shutdown(void);
168 Ecore_Exe *_ecore_exe_find(pid_t pid);
169 void *_ecore_exe_event_del_new(void);
170 void _ecore_exe_event_del_free(void *data, void *ev);
173 void _ecore_animator_shutdown(void);
175 void _ecore_poller_shutdown(void);
177 EAPI void *_ecore_list2_append (void *in_list, void *in_item);
178 EAPI void *_ecore_list2_prepend (void *in_list, void *in_item);
179 EAPI void *_ecore_list2_append_relative (void *in_list, void *in_item, void *in_relative);
180 EAPI void *_ecore_list2_prepend_relative (void *in_list, void *in_item, void *in_relative);
181 EAPI void *_ecore_list2_remove (void *in_list, void *in_item);
182 EAPI void *_ecore_list2_find (void *in_list, void *in_item);
184 void _ecore_fps_debug_init(void);
185 void _ecore_fps_debug_shutdown(void);
186 void _ecore_fps_debug_runtime_add(double t);
188 void _ecore_thread_init(void);
189 void _ecore_thread_shutdown(void);
191 void _ecore_glib_init(void);
192 void _ecore_glib_shutdown(void);
194 void _ecore_job_init(void);
195 void _ecore_job_shutdown(void);
197 extern int _ecore_fps_debug;
198 extern double _ecore_loop_time;
199 extern Eina_Bool _ecore_glib_always_integrate;