Enable the function of 'Keep LCD on if Setting is running in foreground'
[apps/core/preloaded/settings.git] / include / setting-debug.h
1 /*
2  * setting
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
5  *
6  * Contact: MyoungJune Park <mj2004.park@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21 /**
22  * @defgroup setting-debug
23  * setting debug utility
24  */
25
26 #ifndef _SETTING_DEBUG_H_
27 #define _SETTING_DEBUG_H_
28 #include <stdio.h>
29
30 /*#define MTRACE_ENABLED*/
31
32 #define DISABLED_CODE 0
33
34 //#define DEBUG_CODE
35
36 #define SETTING_USING_PLATFORM_DBG
37 #ifdef SETTING_USING_PLATFORM_DBG
38 #include <dlog.h>
39 #ifdef LOG_TAG
40 #undef LOG_TAG
41 #endif
42
43
44 #define LOG_TAG "SETTING"
45 #endif
46
47
48 #if !defined(LOCALEDIR)
49 #define LOCALEDIR "/opt/apps/org.tizen.setting/res/locale"
50 #endif
51
52 #if !defined(EDJDIR)
53 #define EDJDIR "/opt/apps/org.tizen.setting/res/edje"
54 #endif
55
56 #define SUPPORT_BOTTOM_BTNS 1
57 #define REMOVE_BACK_BUTTON_MAIN 0
58 #define SUPPORT_GL_ENGINE 1
59
60
61 /*macros to control program flow*/
62 #define SUPPORT_MORE_ITEM_FUNCTION 1
63
64 // #define SUPPORT_MDM
65
66 /*##menu options##*/
67 #define SUPPORT_AllShare                        1
68 #define SUPPORT_AllShare_Memory                 0
69 #define SUPPORT_FMradio                         1
70 #define SUPPORT_FONT                            1
71 #define SUPPORT_MENUSCREEN                      1
72 #define SUPPORT_WALLPAPER                       1
73 #define SUPPOR_SEPARATE_BRIGHTNESS              1
74
75 #define SUPPORT_RCS_FOR_DEMO                    0
76 #define SUPPORT_ACCESSIBILITY                   1
77 #define SUPPORT_CERTIFICATES            0
78 #define SUPPORT_MOTIONS                         1
79 #define SUPPORT_POWERSAVING                     1
80 #define SUPPORT_RUN_SYSTEM_COMMAND              0
81 #define SUPPORT_VOICEINOUT                      1
82 #define SUPPORT_STORAGE                         1
83 #define SUPPORT_WIFI_DIRECT                     1
84 #define SUPPORT_ALLSHARECAST            1
85 #define SUPPORT_DATA_USAGE                      0
86 #define SUPPORT_SECURITY                        0
87 #define SUPPORT_EVENTNOTI                       0
88
89 /*#endif*/
90
91 #define SUPPORT_APP_ROATION                     0
92 #define SUPPORT_LCD_TIMEOUT_KEEPING             1
93 #define USE_DEVICE_SET_DISPLAY_BRT              1
94
95 #define  LOW_BATTERY_DO_NOTHING                 1       /**< 1 : turn the low batter handlding off */
96
97 #define APPLIED_BACK_KEY_UG                     0
98
99 #define APPLIED_DATATIME_FIRSTDAY_WEEK          1
100 #define SUPPORT_DATEFIELD_DATE_FORMAT_AUTOSET   0
101
102 #define SUPPORT_FDN 0
103 #define SUPPORT_ENCRYPTION 0
104 #define SUPPORT_SCREEN_SECURITY 1
105 #define SUPPORT_PARENTAL_MODE 0
106
107 #define SETTING_ENABLE_TRACE
108
109 #ifdef SETTING_ENABLE_TRACE
110         #ifdef SETTING_USING_PLATFORM_DBG
111                 #define SETTING_TRACE_DEBUG(fmt, arg...) \
112                         do {\
113                                 LOGD("\n\033[0;32mDEBUG: " fmt "\033[0m\t%s:%d\n", \
114                                 ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
115                         }while(0);
116
117                 #define SETTING_TRACE(fmt, arg...) \
118                         do {\
119                                 LOGI("\n\033[0;36m" fmt "\033[0m\t%s:%d\n", \
120                                                 ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
121                         }while(0);
122
123                 #define SETTING_TRACE_WARNING(fmt, arg...) \
124                         do {\
125                                 LOGW("\033[0;33mWARRING: " fmt "\033[0m\t%s:%d\n", ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
126                         }while(0);
127
128                 #define SETTING_TRACE_ERROR(fmt, arg...) \
129                         do {\
130                                 LOGE("\033[0;31mERROR: " fmt "\033[0m\t%s:%d\n", ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
131                         }while(0);
132                 #define SETTING_TRACE_BEGIN do {\
133                                 {\
134                                         LOGD("\n\033[0;35mENTER FUNCTION: %s. \033[0m\t%s:%d\n", \
135                                         __FUNCTION__, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
136                                 }\
137                         }while(0);
138
139                 #define SETTING_TRACE_END  do {\
140                                 {\
141                                         LOGD("\n\033[0;35mEXIT FUNCTION: %s. \033[0m\t%s:%d\n", \
142                                         __FUNCTION__, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
143                                 }\
144                         }while(0);
145         #else
146                 #define SETTING_TRACE(fmt, arg...) \
147                         do {\
148                                 printf("\n[SETTING]\033[0;36m" fmt "\033[0m\t%s:%d\n", \
149                                                 ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
150                         }while(0);
151
152
153                 #define SETTING_TRACE_DEBUG(fmt, arg...) \
154                         do {\
155                                 printf("\n[SETTING]\033[0;32mDEBUG: " fmt "\033[0m\t%s:%d\n", \
156                                                 ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
157                         }while(0);
158
159                 #define SETTING_TRACE_WARNING(fmt, arg...) \
160                         do {\
161                         {\
162                                 printf("[SETTING]\033[0;33mWARRING: " fmt "\033[0m\t%s:%d\n", ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);}\
163                         }while(0);
164
165                 #define SETTING_TRACE_ERROR(fmt, arg...) \
166                         do {\
167                                 {fprintf(stderr, "[SETTING]\033[0;31mERROR: " fmt "\033[0m\t%s:%d\n", ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);}\
168                         }while(0);
169
170                 #define SETTING_TRACE_BEGIN do {\
171                                 {\
172                                         printf("\n[SETTING]\033[0;35mENTER FUNCTION: %s. \033[0m\t%s:%d\n", \
173                                         __FUNCTION__, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
174                                 }\
175                         }while(0);
176
177                 #define SETTING_TRACE_END  do {\
178                                 {\
179                                         printf("\n[SETTING]\033[0;35mEXIT FUNCTION: %s. \033[0m\t%s:%d\n", \
180                                         __FUNCTION__, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
181                                 }\
182                         }while(0);
183         #endif
184 #else
185         #define SETTING_TRACE(fmt, arg...)
186         #define SETTING_TRACE_DEBUG(fmt, arg...)
187         #define SETTING_TRACE_WARNING(fmt, arg...)
188         #define SETTING_TRACE_ERROR(fmt, arg...)
189         #define SETTING_TRACE_BEGIN
190         #define SETTING_TRACE_END
191 #endif
192
193 #define setting_retvm_if(expr, val, fmt, arg...) do { \
194                 if(expr) { \
195                         SETTING_TRACE_ERROR(fmt, ##arg); \
196                         return (val); \
197                 } \
198         } while (0);
199
200 #define setting_retm_if(expr, fmt, arg...) do { \
201                 if(expr) { \
202                         SETTING_TRACE_ERROR(fmt, ##arg); \
203                         return; \
204                 } \
205         } while (0);
206
207 #ifndef retm_if
208 #define retm_if setting_retm_if
209 #endif
210 #ifndef retvm_if
211 #define retvm_if setting_retvm_if
212 #endif
213
214 #ifndef retv_if
215 #define retv_if(expr, val) do { \
216    if(expr) { \
217       return (val); \
218    } \
219 } while (0)
220 #endif
221 #ifndef ret_if
222 #define ret_if(expr) do { \
223    if(expr) { \
224       return ; \
225    } \
226 } while (0)
227 #endif
228
229 #define __FREE(del, arg) do { \
230                 if(arg) { \
231                         del((void *)(arg)); /*cast any argument to (void*) to avoid build warring*/\
232                         arg = NULL; \
233                 } \
234         } while (0);
235 #define FREE(arg) __FREE(free, arg)
236 #define G_FREE(arg) __FREE(g_free, arg)
237
238
239 //////
240 //a trick:To manager back pointer. eg,
241 //For using genlist, whenever Setting side and Genlist side both keep pointers
242 //to a same block memory(here is genlis item data via calloc), must use __BACK_POINTER_SET to
243 //bind the Setting side point into the Genlist side pointer
244 #define __BACK_POINTER_SET(pData) do { \
245                         if (pData)\
246                         {\
247                                 pData->pBack = (void **)(&(pData));\
248                         }\
249                 } while (0);
250
251 #define __BACK_POINTER_UNSET(pData) do { \
252                         if (pData && pData->pBack)/*release Setting side poniter handlers*/\
253                         {\
254                                 *(pData->pBack) = NULL;\
255                         }\
256                 } while (0);
257
258
259 #endif /* _SETTING_DEBUG_H_ */
260