Change all the SmartThings APIs for Tizen 5.0
[apps/native/st-things-blind.git] / inc / log.h
1 /*
2  * Copyright (c) 2018 Samsung Electronics Co., Ltd.
3  *
4  * Contact: Jin Yoon <jinny.yoon@samsung.com>
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an AS IS BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19
20 #ifndef __LOG_H__
21 #define  __LOG_H__
22
23 #include <dlog.h>
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29 #ifdef  LOG_TAG
30 #undef  LOG_TAG
31 #endif
32 #define LOG_TAG "STAPP"
33
34 #define _E(fmt, args...) dlog_print(DLOG_ERROR, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args)
35 #define _W(fmt, args...) dlog_print(DLOG_WARN, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args)
36 #define _I(fmt, args...)  dlog_print(DLOG_INFO, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args)
37 #define _D(fmt, args...) dlog_print(DLOG_DEBUG, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args)
38
39 #define START dlog_print(DLOG_DEBUG, LOG_TAG, "%s : %s(%d) >>>>>>>> called", rindex(__FILE__, '/') + 1, __func__, __LINE__)
40 #define END dlog_print(DLOG_DEBUG, LOG_TAG, "%s : %s(%d) <<<<<<<< ended", rindex(__FILE__, '/') + 1, __func__, __LINE__)
41
42 #define retvm_if(expr, val, fmt, arg...) do { \
43         if (expr) { \
44                 _E(fmt, ##arg); \
45                 _E("(%s) -> %s() return", #expr, __FUNCTION__); \
46                 return val; \
47         } \
48 } while (0)
49
50 #define retv_if(expr, val) do { \
51         if (expr) { \
52                 _E("(%s) -> %s() return", #expr, __FUNCTION__); \
53                 return (val); \
54         } \
55 } while (0)
56
57 #define retm_if(expr, fmt, arg...) do { \
58         if (expr) { \
59                 _E(fmt, ##arg); \
60                 _E("(%s) -> %s() return", #expr, __FUNCTION__); \
61                 return; \
62         } \
63 } while (0)
64
65 #define ret_if(expr) do { \
66         if (expr) { \
67                 _E("(%s) -> %s() return", #expr, __FUNCTION__); \
68                 return; \
69         } \
70 } while (0)
71
72 #define goto_if(expr, val) do { \
73         if (expr) { \
74                 _E("(%s) -> goto", #expr); \
75                 goto val; \
76         } \
77 } while (0)
78
79 #define break_if(expr) { \
80         if (expr) { \
81                 _E("(%s) -> break", #expr); \
82                 break; \
83         } \
84 }
85
86 #define continue_if(expr) { \
87         if (expr) { \
88                 _E("(%s) -> continue", #expr); \
89                 continue; \
90         } \
91 }
92
93 #ifdef __cplusplus
94 }
95 #endif
96
97
98 #endif /* __LOG_H__ */