apply FSL(Flora Software License)
[apps/home/libug-worldclock-efl.git] / clock-common / include / clock_fwk_dlog.h
1 /*
2   * Copyright 2012  Samsung Electronics Co., Ltd
3   * 
4   * Licensed under the Flora License, Version 1.0 (the "License");
5   * you may not use this file except in compliance with the License.
6   * You may obtain a copy of the License at
7   * 
8   *     http://www.tizenopensource.org/license
9   * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16
17 #ifndef __CLK_FWK_DLOG_H__
18 #define __CLK_FWK_DLOG_H__
19
20 #include <stdio.h>
21 #include <assert.h>
22 #include <dlog.h>
23 /**********************************************************************
24 ******************define, struct ,typedef, union, enum, global val *************************************
25 ***********************************************************************/
26 #define CLK_FUN_BEG()   CLK_INFO("====>>>>fun=%s, BEGIN====>>>>", __FUNCTION__);
27 #define CLK_FUN_END()   CLK_INFO("====>>>>fun=%s, END====>>>>",  __FUNCTION__);
28 #define CLK_INFO(fmt, arg...) LOGD("[%s:%d] "fmt,__FILE__, __LINE__, ##arg);
29 #define CLK_ERR(fmt,arg...) LOGE(FONT_COLOR_RED"[%s:%d] "fmt FONT_COLOR_RESET, __FILE__,  __LINE__, ##arg);
30 //#define CLK_INFO(fmt, arg...) printf("[%s:%d] "fmt"\n",__FILE__, __LINE__,##arg);
31 //#define CLK_ERR(fmt,arg...) printf(FONT_COLOR_RED"[%s:%d] "fmt FONT_COLOR_RESET"\n",__FILE__, __LINE__,##arg);
32
33 #define CLK_FUN_DEBUG_BEG()     //CLK_INFO("====>>>>fun=%s, BEGIN====>>>>",__FUNCTION__);
34 #define CLK_FUN_DEBUG_END()     //CLK_INFO("====>>>>fun=%s, END====>>>>",  __FUNCTION__);
35 #define CLK_DEBUG_INFO(fmt, arg...)     //CLK_INFO(fmt, ##arg)
36 #define CLK_DEBUG_INFO(fmt, arg...)     //CLK_ERR(fmt,##arg)
37
38 #define CLK_RET_IF(expr) \
39     do { \
40             if(expr) { \
41                     nErr = FAILED;\
42                     CLK_INFO_RED("!!!!!!!!!!!!!!!!!!!! CHECK nErr=%d!!!!!!! \n(%s)return!!!!!!!!!!!\n\n",nErr, #expr); \
43                     goto End; \
44                 }\
45     }while(0);
46 #define CLK_RETV_IF(expr, val) \
47         do { \
48                 if(expr) { \
49                     ret = val;\
50                     nErr = FAILED;\
51                     CLK_INFO_RED("!!!!!!!!!!!!!!!!!!!! CHECK nErr=%d!!!!!!! \n(%s)return!!!!!!!!!!!\n\n",nErr, #expr); \
52                     goto End; \
53                 } \
54         }while(0);
55 #define CLK_RETE_IF(expr, errorId) \
56     do{ \
57                 if(expr) { \
58                     nErr = errorId;\
59                     CLK_INFO_RED("!!!!!!!!!!!!!!!!!!!! CHECK nErr=%d!!!!!!! \n(%s)return!!!!!!!!!!!\n\n",nErr, #expr); \
60                     goto End; \
61         } \
62     }while(0);
63 #define CLK_RETEM_IF(expr, errorId,fmt, arg...) \
64     do{ \
65                 if(expr) { \
66                     nErr = errorId;\
67                 CLK_INFO_RED(fmt, ##arg); \
68                     CLK_INFO_RED("!!!!!!!!!!!!!!!!!!!! CHECK nErr=%d!!!!!!! \n(%s)return!!!!!!!!!!!\n\n",nErr, #expr); \
69                     goto End; \
70                 } \
71     }while(0);
72 #define CLK_RETVE_IF(expr, val, errorId) \
73     do{ \
74                 if(expr) { \
75                     ret = val;\
76                     nErr = errorId;\
77                     CLK_INFO_RED("!!!!!!!!!!!!!!!!!!!! CHECK nErr=%d!!!!!!! \n(%s)return!!!!!!!!!!!\n\n",nErr, #expr); \
78                     goto End; \
79                 } \
80     }while(0);
81 #define CLK_RETM_IF(expr, fmt, arg...) \
82     do { \
83                 if(expr) { \
84                     nErr = FAILED;\
85                     CLK_INFO_RED(fmt, ##arg); \
86                     CLK_INFO_RED("!!!!!!!!!!!!!!!!!!!! CHECK nErr=%d!!!!!!! \n(%s)return!!!!!!!!!!!\n\n",nErr, #expr); \
87                     goto End; \
88                 } \
89     }while(0);
90 #define CLK_RETVM_IF(expr, val, fmt, arg...) \
91     do { \
92                 if(expr) { \
93                     ret = val;\
94                     nErr = FAILED;\
95                     CLK_INFO_RED(fmt, ##arg); \
96                     CLK_INFO_RED("!!!!!!!!!!!!!!!!!!!! CHECK nErr=%d!!!!!!! \n(%s)return!!!!!!!!!!!\n\n",nErr, #expr); \
97                     goto End; \
98                 } \
99     }while(0);
100 #define CLK_RETVME_IF(expr, val, errorId, fmt, arg...) \
101     do{ \
102                 if(expr) { \
103                     ret = val;\
104                     nErr = errorId;\
105                     CLK_INFO_RED(fmt, ##arg); \
106                     CLK_INFO_RED("!!!!!!!!!!!!!!!!!!!! CHECK nErr=%d!!!!!!! \n(%s)return!!!!!!!!!!!\n\n",nErr, #expr); \
107                     goto End; \
108                 } \
109     }while(0);
110 #define CLK_GOTO_IF_RUN(con, pos, expr, fmt, arg...)\
111     do{\
112             if(con) {\
113                     expr;\
114                     CLK_INFO_RED(fmt, ##arg); \
115                     goto pos;\
116             }\
117     }while (0);
118
119 /* anci c color type */
120 #define FONT_COLOR_RESET    "\033[0m"
121 #define FONT_COLOR_RED      "\033[31m"
122 #define FONT_COLOR_GREEN    "\033[32m"
123 #define FONT_COLOR_YELLOW   "\033[33m"
124 #define FONT_COLOR_BLUE     "\033[34m"
125 #define FONT_COLOR_PURPLE   "\033[35m"
126 #define FONT_COLOR_CYAN     "\033[36m"
127 #define FONT_COLOR_GRAY     "\033[37m"
128
129 #define CLK_INFO_RED(fmt, arg...) CLK_INFO(FONT_COLOR_RED fmt FONT_COLOR_RESET, ##arg)
130 #define CLK_INFO_GREEN(fmt, arg...) CLK_INFO(FONT_COLOR_GREEN fmt FONT_COLOR_RESET, ##arg)
131 #define CLK_INFO_YELLOW(fmt, arg...) CLK_INFO(FONT_COLOR_YELLOW fmt FONT_COLOR_RESET, ##arg)
132 #define CLK_INFO_BLUE(fmt, arg...) CLK_INFO(FONT_COLOR_BLUE fmt FONT_COLOR_RESET, ##arg)
133 #define CLK_INFO_PURPLE(fmt, arg...) CLK_INFO(FONT_COLOR_PURPLE fmt FONT_COLOR_RESET, ##arg)
134 #define CLK_INFO_CYAN(fmt, arg...) CLK_INFO(FONT_COLOR_CYAN fmt FONT_COLOR_RESET, ##arg)
135 #define CLK_INFO_GRAY(fmt, arg...) CLK_INFO(FONT_COLOR_GRAY fmt FONT_COLOR_RESET, ##arg)
136
137 #define CLK_INFO_WITH_COLOR(color, fmt, arg...) CLK_INFO(color fmt FONT_COLOR_RESET, ##arg)
138
139 //
140 #define warn_if(expr, fmt, arg...) do { \
141         if(expr) { \
142             CLK_INFO("(%s) -> "fmt, #expr, ##arg); \
143         } \
144     } while (0)
145 #define ret_if(expr) do { \
146         if(expr) { \
147             CLK_ERR("(%s) -> %s() return", #expr, __FUNCTION__); \
148             return; \
149         } \
150     } while (0)
151 #define retv_if(expr, val) do { \
152         if(expr) { \
153             CLK_ERR("(%s) -> %s() return", #expr, __FUNCTION__); \
154             return (val); \
155         } \
156     } while (0)
157 #define retm_if(expr, fmt, arg...) do { \
158         if(expr) { \
159             CLK_ERR(fmt, ##arg); \
160             CLK_ERR("(%s) -> %s() return", #expr, __FUNCTION__); \
161             return; \
162         } \
163     } while (0)
164 #define retvm_if(expr, val, fmt, arg...) do { \
165         if(expr) { \
166             CLK_ERR(fmt, ##arg); \
167             CLK_ERR("(%s) -> %s() return", #expr, __FUNCTION__); \
168             return (val); \
169         } \
170     } while (0)
171 #endif                          //__CLK_FWK_DLOG_H__