diff options
Diffstat (limited to 'libvideoeditor/osal/src/M4PSW_DebugTrace.c')
-rwxr-xr-x | libvideoeditor/osal/src/M4PSW_DebugTrace.c | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/libvideoeditor/osal/src/M4PSW_DebugTrace.c b/libvideoeditor/osal/src/M4PSW_DebugTrace.c new file mode 100755 index 0000000..71a6a06 --- /dev/null +++ b/libvideoeditor/osal/src/M4PSW_DebugTrace.c @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2004-2011 NXP Software + * Copyright (C) 2011 The Android Open Source Project + * + * 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. + */ +/** + ************************************************************************ + * @file M4PSW_DebugTrace.c + * @brief Default trace function for debugging macros + * @note This file gives the default implementation of the trace function + * used in the debug instrumentation macros, based on printf. + * Application writers are strongly encouraged to implement their + * own "M4OSA_DebugTrace". + ************************************************************************ +*/ + + +#include <stdio.h> /*for printf */ + +#include "M4OSA_Types.h" +#include "M4OSA_Error.h" + +/*#define NO_FILE */ /* suppresses the file name print out */ + + +/** + ************************************************************************ + * void M4OSA_DebugTrace(M4OSA_Int32 line, char* file, M4OSA_Int32 level, + * M4OSA_Char* cond, char* msg, M4OSA_ERR err) + * @brief This function implements the trace for debug tests + * @note This function is to be called in the debug macros only. + * This implementation uses printf. + * @param line (IN): the line number in the source file + * @param file (IN): the source file name + * @param level (IN): the debug level + * @param msg (IN): the error message + * @param err (IN): the return value (error code) + * @return none + ************************************************************************ +*/ + +M4OSAL_TRACE_EXPORT_TYPE void M4OSA_DebugTrace(M4OSA_Int32 line, + M4OSA_Char* file, + M4OSA_Int32 level, + M4OSA_Char* cond, + M4OSA_Char* msg, + M4OSA_ERR err) +{ + M4OSA_Int32 i; + + /* try to "indent" the resulting traces depending on the level */ + for (i =0 ; i < level; i ++) + { + printf(" "); + } + +#ifdef NO_FILE + printf("Error: %li, on %s: %s\n",err,cond,msg); +#else /* NO_FILE */ + printf("Error: %li, on %s: %s Line %lu in: %s\n",err,cond,msg,line,file); +#endif /* NO_FILE */ + +} + +M4OSAL_TRACE_EXPORT_TYPE M4OSA_Void M4OSA_DEBUG_traceFunction(M4OSA_UInt32 line, + M4OSA_Char* fileName, + M4OSA_UInt32 level, + M4OSA_Char* stringCondition, + M4OSA_Char* message, + M4OSA_ERR returnedError) +{ + M4OSA_DebugTrace(line, fileName, level, stringCondition, message, returnedError); +} + |