4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
6 * Contact: MyoungJune Park <mj2004.park@samsung.com>
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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.
22 * @defgroup setting-debug
23 * setting debug utility
26 #ifndef _SETTING_DEBUG_H_
27 #define _SETTING_DEBUG_H_
30 /*#define MTRACE_ENABLED*/
32 #define DISABLED_CODE 0
36 #define SETTING_USING_PLATFORM_DBG
37 #ifdef SETTING_USING_PLATFORM_DBG
44 #define LOG_TAG "SETTING"
48 #if !defined(LOCALEDIR)
49 #define LOCALEDIR "/opt/apps/org.tizen.setting/res/locale"
53 #define EDJDIR "/opt/apps/org.tizen.setting/res/edje"
56 #define SUPPORT_BOTTOM_BTNS 1
57 #define REMOVE_BACK_BUTTON_MAIN 0
58 #define SUPPORT_GL_ENGINE 1
61 /*macros to control program flow*/
62 #define SUPPORT_MORE_ITEM_FUNCTION 1
64 // #define SUPPORT_MDM
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
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
91 #define SUPPORT_APP_ROATION 0
92 #define SUPPORT_LCD_TIMEOUT_KEEPING 1
93 #define USE_DEVICE_SET_DISPLAY_BRT 1
95 #define LOW_BATTERY_DO_NOTHING 1 /**< 1 : turn the low batter handlding off */
97 #define APPLIED_BACK_KEY_UG 0
99 #define APPLIED_DATATIME_FIRSTDAY_WEEK 1
100 #define SUPPORT_DATEFIELD_DATE_FORMAT_AUTOSET 0
102 #define SUPPORT_FDN 0
103 #define SUPPORT_ENCRYPTION 0
104 #define SUPPORT_SCREEN_SECURITY 1
105 #define SUPPORT_PARENTAL_MODE 0
107 #define SETTING_ENABLE_TRACE
109 #ifdef SETTING_ENABLE_TRACE
110 #ifdef SETTING_USING_PLATFORM_DBG
111 #define SETTING_TRACE_DEBUG(fmt, arg...) \
113 LOGD("\n\033[0;32mDEBUG: " fmt "\033[0m\t%s:%d\n", \
114 ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
117 #define SETTING_TRACE(fmt, arg...) \
119 LOGI("\n\033[0;36m" fmt "\033[0m\t%s:%d\n", \
120 ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
123 #define SETTING_TRACE_WARNING(fmt, arg...) \
125 LOGW("\033[0;33mWARRING: " fmt "\033[0m\t%s:%d\n", ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
128 #define SETTING_TRACE_ERROR(fmt, arg...) \
130 LOGE("\033[0;31mERROR: " fmt "\033[0m\t%s:%d\n", ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
132 #define SETTING_TRACE_BEGIN do {\
134 LOGD("\n\033[0;35mENTER FUNCTION: %s. \033[0m\t%s:%d\n", \
135 __FUNCTION__, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
139 #define SETTING_TRACE_END do {\
141 LOGD("\n\033[0;35mEXIT FUNCTION: %s. \033[0m\t%s:%d\n", \
142 __FUNCTION__, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
146 #define SETTING_TRACE(fmt, arg...) \
148 printf("\n[SETTING]\033[0;36m" fmt "\033[0m\t%s:%d\n", \
149 ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
153 #define SETTING_TRACE_DEBUG(fmt, arg...) \
155 printf("\n[SETTING]\033[0;32mDEBUG: " fmt "\033[0m\t%s:%d\n", \
156 ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
159 #define SETTING_TRACE_WARNING(fmt, arg...) \
162 printf("[SETTING]\033[0;33mWARRING: " fmt "\033[0m\t%s:%d\n", ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);}\
165 #define SETTING_TRACE_ERROR(fmt, arg...) \
167 {fprintf(stderr, "[SETTING]\033[0;31mERROR: " fmt "\033[0m\t%s:%d\n", ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);}\
170 #define SETTING_TRACE_BEGIN do {\
172 printf("\n[SETTING]\033[0;35mENTER FUNCTION: %s. \033[0m\t%s:%d\n", \
173 __FUNCTION__, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
177 #define SETTING_TRACE_END do {\
179 printf("\n[SETTING]\033[0;35mEXIT FUNCTION: %s. \033[0m\t%s:%d\n", \
180 __FUNCTION__, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
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
193 #define setting_retvm_if(expr, val, fmt, arg...) do { \
195 SETTING_TRACE_ERROR(fmt, ##arg); \
200 #define setting_retm_if(expr, fmt, arg...) do { \
202 SETTING_TRACE_ERROR(fmt, ##arg); \
208 #define retm_if setting_retm_if
211 #define retvm_if setting_retvm_if
215 #define retv_if(expr, val) do { \
222 #define ret_if(expr) do { \
229 #define __FREE(del, arg) do { \
231 del((void *)(arg)); /*cast any argument to (void*) to avoid build warring*/\
235 #define FREE(arg) __FREE(free, arg)
236 #define G_FREE(arg) __FREE(g_free, arg)
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 { \
247 pData->pBack = (void **)(&(pData));\
251 #define __BACK_POINTER_UNSET(pData) do { \
252 if (pData && pData->pBack)/*release Setting side poniter handlers*/\
254 *(pData->pBack) = NULL;\
259 #endif /* _SETTING_DEBUG_H_ */