Tizen 2.1 release
[platform/core/uifw/e17.git] / src / bin / e_log.h
1 #ifdef E_TYPEDEFS
2
3 #else
4 #ifndef E_LOG_H
5 #define E_LOG_H
6
7
8 #ifdef E_LOGGING
9 #undef DBG
10 #undef INF
11 #undef WRN
12 #undef ERR
13 #undef CRI
14 #define DBG(...)            EINA_LOG_DOM_DBG(e_log_dom, __VA_ARGS__)
15 #define INF(...)            EINA_LOG_DOM_INFO(e_log_dom, __VA_ARGS__)
16 #define WRN(...)            EINA_LOG_DOM_WARN(e_log_dom, __VA_ARGS__)
17 #define ERR(...)            EINA_LOG_DOM_ERR(e_log_dom, __VA_ARGS__)
18 #define CRI(...)            EINA_LOG_DOM_CRIT(e_log_dom, __VA_ARGS__)
19
20 EINTERN extern int e_log_dom;
21
22 EINTERN int e_log_init(void);
23 EINTERN int e_log_shutdown(void);
24 #else
25 #undef DBG
26 #undef INF
27 #undef WRN
28 #undef ERR
29 #undef CRI
30 #define DBG(...)            printf(__VA_ARGS__); putc('\n', stdout)
31 #define INF(...)            printf(__VA_ARGS__); putc('\n', stdout)
32 #define WRN(...)            printf(__VA_ARGS__); putc('\n', stdout)
33 #define ERR(...)            printf(__VA_ARGS__); putc('\n', stdout)
34 #define CRI(...)            printf(__VA_ARGS__); putc('\n', stdout)
35 #endif
36
37 #ifdef _F_E_LOGBUF_
38 #define ELBT_NONE   0x00000000
39 #define ELBT_DFT    0x00000001
40 #define ELBT_MNG    0x00000002
41 #define ELBT_BD     0x00000004
42 #define ELBT_ROT    0x00000008
43 #define ELBT_ILLUME 0x00000010
44 #define ELBT_COMP   0x00000020
45 #define ELBT_MOVE   0x00000040
46 #define ELBT_ALL    0xFFFFFFFF
47
48 extern EAPI unsigned int e_logbuf_type;
49
50 EINTERN int  e_logbuf_init(void);
51 EINTERN int  e_logbuf_shutdown(void);
52 EAPI    void e_logbuf_add(unsigned int type, const char *func, int line, const char *str, unsigned int id);
53 EAPI    void e_logbuf_fmt_add(unsigned int type, unsigned int blank, const char *func, int line, unsigned int id, const char *fmt, ...);
54
55 #define ELB(t, s, i)           do { if ((e_logbuf_type) & (t)) { e_logbuf_add((t), __FUNCTION__, __LINE__, (s), (i));             } } while (0);
56 #define ELBF(t, b, i, f, x...) do { if ((e_logbuf_type) & (t)) { e_logbuf_fmt_add((t), (b), __FUNCTION__, __LINE__, (i), f, ##x); } } while (0);
57 #else
58 #define ELB(...)            ;
59 #define ELBF(...)           ;
60 #endif
61
62 #endif
63 #endif