2 * Copyright 2012-2013 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.1 (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
8 * http://floralicense.org/license/
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.
17 #ifndef __MSG_DEBUG_H__
18 #define __MSG_DEBUG_H__
20 /*==================================================================================================
22 ==================================================================================================*/
23 #include <sys/types.h>
30 #include "MsgCmdTypes.h"
31 #include "MsgFilterTypes.h"
38 /*==================================================================================================
40 ==================================================================================================*/
41 #define USER_TAG "MSG_FW"
43 #define LOG_TAG "MSG_SERVICE"
44 #define MSG_SMS_VALID_TAG "VLD_SMS"
45 #define MSG_MMS_VALID_TAG "VLD_MMS"
51 /*==================================================================================================
53 ==================================================================================================*/
57 #if defined(DLOG_ENABLE)
59 #define MSG_FATAL(fmt, ...) \
62 SLOGD(" ERROR << " fmt " >>\n\n", ##__VA_ARGS__);\
65 #define MSG_DEBUG(fmt, ...)\
68 SLOGD(fmt"\n\n", ##__VA_ARGS__);\
74 SLOGD(" BEGIN >>>> \n\n");\
80 SLOGD(" END <<<< \n\n");\
84 #define MSG_PROFILE_BEGIN(pfid) \
85 unsigned int __prf_l1_##pfid = __LINE__; \
86 struct timeval __prf_1_##pfid; \
87 struct timeval __prf_2_##pfid; \
89 gettimeofday(&__prf_1_##pfid, 0); \
92 #define MSG_PROFILE_END(pfid) \
93 unsigned int __prf_l2_##pfid = __LINE__;\
95 gettimeofday(&__prf_2_##pfid, 0);\
96 long __ds = __prf_2_##pfid.tv_sec - __prf_1_##pfid.tv_sec;\
97 long __dm = __prf_2_##pfid.tv_usec - __prf_1_##pfid.tv_usec;\
98 if ( __dm < 0 ) { __ds--; __dm = 1000000 + __dm; } \
99 SLOG(LOG_DEBUG, USER_TAG, "**PROFILE** [MSGFW: %s: %s() %u ~ %u] " #pfid \
100 " -> Elapsed Time: %u.%06u seconds\n", \
101 rindex(__FILE__, '/')+1, \
105 (unsigned int)(__ds), \
106 (unsigned int)(__dm)); \
110 #define MSG_SMS_VLD_INFO(fmt, ...)\
113 SLOG(LOG_DEBUG, MSG_SMS_VALID_TAG, "[SMS INFO]%s, "fmt"\n", __TIMESTAMP__, ##__VA_ARGS__);\
116 #define MSG_SMS_VLD_TXT(fmt, ...)\
119 SLOG(LOG_DEBUG, MSG_SMS_VALID_TAG, "[SMS_TEXT]%s, "fmt"\n", __TIMESTAMP__, ##__VA_ARGS__);\
122 #define MSG_MMS_VLD_INFO(fmt, ...)\
125 SLOG(LOG_DEBUG, MSG_MMS_VALID_TAG, "[MMS INFO]%s, "fmt"\n", __TIMESTAMP__, ##__VA_ARGS__);\
128 #define MSG_MMS_VLD_TXT(fmt, ...)\
131 SLOG(LOG_DEBUG, MSG_MMS_VALID_TAG, "[MMS TEXT]%s, "fmt"\n", __TIMESTAMP__, ##__VA_ARGS__);\
134 #define MSG_MMS_VLD_FILE(fmt, ...)\
137 SLOG(LOG_DEBUG, MSG_MMS_VALID_TAG, "[MMS FILE]%s, "fmt"\n", __TIMESTAMP__, ##__VA_ARGS__);\
140 #elif defined(LOG_ENABLE)
142 #define MSG_FATAL(fmt, ...) \
145 printf("\n[%d] [MSGFW: %s: %s(): %d] *FAILED* << " fmt" >>\n", get_tid(), rindex(__FILE__, '/')+1, __FUNCTION__, __LINE__, ##__VA_ARGS__);\
148 #define MSG_DEBUG(fmt, ...) \
151 printf("\n[%d] [MSGFW: %s: %s(): %d] " fmt"\n", get_tid(), rindex(__FILE__, '/')+1, __FUNCTION__, __LINE__, ##__VA_ARGS__);\
154 #define MSG_BEGIN() \
157 printf("\n[%d] BEGIN >>>> %s() at [MSGFW: %s: %d]\n", get_tid(),__FUNCTION__, rindex(__FILE__, '/')+1, __LINE__ );\
163 printf("\n[%d] END <<<< %s() at [MSGFW: %s: %d]\n", get_tid(), __FUNCTION__, rindex(__FILE__, '/')+1, __LINE__); \
167 #define MSG_PROFILE_BEGIN(pfid) \
168 unsigned int __prf_l1_##pfid = __LINE__; \
169 struct timeval __prf_1_##pfid; \
170 struct timeval __prf_2_##pfid; \
172 gettimeofday(&__prf_1_##pfid, 0); \
175 #define MSG_PROFILE_END(pfid) \
176 unsigned int __prf_l2_##pfid = __LINE__;\
178 gettimeofday(&__prf_2_##pfid, 0);\
179 long __ds = __prf_2_##pfid.tv_sec - __prf_1_##pfid.tv_sec;\
180 long __dm = __prf_2_##pfid.tv_usec - __prf_1_##pfid.tv_usec;\
181 if ( __dm < 0 ) { __ds--; __dm = 1000000 + __dm; } \
182 printf("**PROFILE** [MSGFW: %s: %s() %u ~ %u] " #pfid \
183 " -> Elapsed Time: %u.%06u seconds\n", \
184 rindex(__FILE__, '/')+1, \
188 (unsigned int)(__ds), \
189 (unsigned int)(__dm)); \
194 #define MSG_FATAL(fmt, ...)
195 #define MSG_DEBUG(fmt, ...)
199 #define MSG_PROFILE_BEGIN(pfid) \
200 unsigned int __prf_l1_##pfid = __LINE__; \
201 struct timeval __prf_1_##pfid; \
202 struct timeval __prf_2_##pfid; \
204 gettimeofday(&__prf_1_##pfid, 0); \
207 #define MSG_PROFILE_END(pfid) \
208 unsigned int __prf_l2_##pfid = __LINE__;\
210 gettimeofday(&__prf_2_##pfid, 0);\
211 long __ds = __prf_2_##pfid.tv_sec - __prf_1_##pfid.tv_sec;\
212 long __dm = __prf_2_##pfid.tv_usec - __prf_1_##pfid.tv_usec;\
213 if ( __dm < 0 ) { __ds--; __dm = 1000000 + __dm; } \
214 printf("**PROFILE** [MSGFW: %s: %s() %u ~ %u] " #pfid \
215 " -> Elapsed Time: %u.%06u seconds\n", \
216 rindex(__FILE__, '/')+1, \
220 (unsigned int)(__ds), \
221 (unsigned int)(__dm)); \
226 const char * MsgDbgCmdStr(MSG_CMD_TYPE_T cmdType);
227 const char * MsgDbgEvtStr(MSG_EVENT_TYPE_T evtType);
229 #endif //__MSG_DEBUG_H__