/* **************************************************************** * * Copyright 2017 Samsung Electronics All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ******************************************************************/ #ifndef __LOG_H__ #define __LOG_H__ #include #ifdef __cplusplus extern "C" { #endif #ifdef LOG_TAG #undef LOG_TAG #endif #define LOG_TAG "MOTION_APP" #define _E(fmt, args...) dlog_print(DLOG_ERROR, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args) #define _W(fmt, args...) dlog_print(DLOG_WARN, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args) #define _I(fmt, args...) dlog_print(DLOG_INFO, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args) #define _D(fmt, args...) dlog_print(DLOG_DEBUG, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args) #define FN_CALL dlog_print(DLOG_DEBUG, LOG_TAG, ">>>>>>>> %s() called\n", __func__) #define FN_END dlog_print(DLOG_DEBUG, LOG_TAG, "<<<<<<<< %s() ended\n", __func__) #define retvm_if(expr, val, fmt, arg...) do { \ if (expr) { \ _E(fmt, ##arg); \ _E("(%s) -> %s() return", #expr, __FUNCTION__); \ return val; \ } \ } while (0) #define retv_if(expr, val) do { \ if (expr) { \ _E("(%s) -> %s() return", #expr, __FUNCTION__); \ return (val); \ } \ } while (0) #define retm_if(expr, fmt, arg...) do { \ if (expr) { \ _E(fmt, ##arg); \ _E("(%s) -> %s() return", #expr, __FUNCTION__); \ return; \ } \ } while (0) #define ret_if(expr) do { \ if (expr) { \ _E("(%s) -> %s() return", #expr, __FUNCTION__); \ return; \ } \ } while (0) #define goto_if(expr, val) do { \ if (expr) { \ _E("(%s) -> goto", #expr); \ goto val; \ } \ } while (0) #define break_if(expr) { \ if (expr) { \ _E("(%s) -> break", #expr); \ break; \ } \ } #define continue_if(expr) { \ if (expr) { \ _E("(%s) -> continue", #expr); \ continue; \ } \ } #ifdef __cplusplus } #endif #endif /* __LOG_H__ */