Eo: Made constructor/destructor regular ops.
[profile/ivi/eobj.git] / lib / eo_private.h
1 #ifndef _EO_PRIVATE_H
2 #define _EO_PRIVATE_H
3
4 #define EO_EINA_MAGIC 0xa186bc32
5 #define EO_EINA_MAGIC_STR "Eo"
6 #define EO_FREED_EINA_MAGIC 0xa186bb32
7 #define EO_FREED_EINA_MAGIC_STR "Eo - Freed object"
8 #define EO_CLASS_EINA_MAGIC 0xa186ba32
9 #define EO_CLASS_EINA_MAGIC_STR "Eo Class"
10
11 #define EO_MAGIC_RETURN_VAL(d, magic, ret) \
12    do { \
13         if (!EINA_MAGIC_CHECK(d, magic)) \
14           { \
15              EINA_MAGIC_FAIL(d, magic); \
16              return ret; \
17           } \
18    } while (0)
19
20 #define EO_MAGIC_RETURN(d, magic) \
21    do { \
22         if (!EINA_MAGIC_CHECK(d, magic)) \
23           { \
24              EINA_MAGIC_FAIL(d, magic); \
25              return; \
26           } \
27    } while (0)
28
29
30 extern int _eo_log_dom;
31
32 #ifdef CRITICAL
33 #undef CRITICAL
34 #endif
35 #define CRITICAL(...) EINA_LOG_DOM_CRIT(_eo_log_dom, __VA_ARGS__)
36
37 #ifdef ERR
38 #undef ERR
39 #endif
40 #define ERR(...) EINA_LOG_DOM_ERR(_eo_log_dom, __VA_ARGS__)
41
42 #ifdef WRN
43 #undef WRN
44 #endif
45 #define WRN(...) EINA_LOG_DOM_WARN(_eo_log_dom, __VA_ARGS__)
46
47 #ifdef INF
48 #undef INF
49 #endif
50 #define INF(...) EINA_LOG_DOM_INFO(_eo_log_dom, __VA_ARGS__)
51
52 #ifdef DBG
53 #undef DBG
54 #endif
55 #define DBG(...) EINA_LOG_DOM_DBG(_eo_log_dom, __VA_ARGS__)
56
57 void _eo_condtor_done(Eo *obj);
58
59 #endif
60