1/* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16#ifndef DISPLAY_LOG_H 17#define DISPLAY_LOG_H 18#include <stdint.h> 19#include <string.h> 20#include "hilog/log.h" 21 22#ifdef HDF_LOG_TAG 23#undef HDF_LOG_TAG 24#endif 25 26#if defined(__cplusplus) 27extern "C" { 28#endif 29 30#undef LOG_TAG 31#define LOG_TAG "DISP" 32#undef LOG_DOMAIN 33#define LOG_DOMAIN 0xD002515 34 35#ifndef DISPLAY_UNUSED 36#define DISPLAY_UNUSED(x) (void)(x) 37#endif 38 39#ifndef DISPLAY_DEBUG_ENABLE 40#define DISPLAY_DEBUG_ENABLE 1 41#endif 42 43#ifndef DISPLAY_LOGD 44#define DISPLAY_LOGD(format, ...) \ 45 do { \ 46 if (DISPLAY_DEBUG_ENABLE) { \ 47 HILOG_DEBUG(LOG_CORE, "[%{public}s:%{public}d] " format "\n", __FUNCTION__, __LINE__, ##__VA_ARGS__); \ 48 } \ 49 } while (0) 50#endif 51 52#ifndef DISPLAY_LOGI 53#define DISPLAY_LOGI(format, ...) \ 54 do { \ 55 HILOG_INFO(LOG_CORE, "[%{public}s:%{public}d] " format "\n", __FUNCTION__, __LINE__, ##__VA_ARGS__); \ 56 } while (0) 57#endif 58 59#ifndef DISPLAY_LOGW 60#define DISPLAY_LOGW(format, ...) \ 61 do { \ 62 HILOG_WARN(LOG_CORE, "[%{public}s:%{public}d] " format "\n", __FUNCTION__, __LINE__, ##__VA_ARGS__); \ 63 } while (0) 64#endif 65 66#ifndef DISPLAY_LOGE 67#define DISPLAY_LOGE(format, ...) \ 68 do { \ 69 HILOG_ERROR(LOG_CORE, \ 70 "\033[0;32;31m" \ 71 "[%{public}s:%{public}d] " format "\033[m" \ 72 "\n", \ 73 __FUNCTION__, __LINE__, ##__VA_ARGS__); \ 74 } while (0) 75#endif 76 77#ifndef CHECK_NULLPOINTER_RETURN_VALUE 78#define CHECK_NULLPOINTER_RETURN_VALUE(pointer, ret) \ 79 do { \ 80 if ((pointer) == NULL) { \ 81 DISPLAY_LOGE("pointer is null and return ret\n"); \ 82 return (ret); \ 83 } \ 84 } while (0) 85#endif 86 87#ifndef CHECK_NULLPOINTER_RETURN 88#define CHECK_NULLPOINTER_RETURN(pointer) \ 89 do { \ 90 if ((pointer) == NULL) { \ 91 DISPLAY_LOGE("pointer is null and return\n"); \ 92 return; \ 93 } \ 94 } while (0) 95#endif 96 97#ifndef DISPLAY_CHK_RETURN 98#define DISPLAY_CHK_RETURN(val, ret, ...) \ 99 do { \ 100 if (val) { \ 101 __VA_ARGS__; \ 102 return (ret); \ 103 } \ 104 } while (0) 105#endif 106 107#ifndef DISPLAY_CHK_RETURN_NOT_VALUE 108#define DISPLAY_CHK_RETURN_NOT_VALUE(val, ...) \ 109 do { \ 110 if (val) { \ 111 __VA_ARGS__; \ 112 return; \ 113 } \ 114 } while (0) 115#endif 116 117#ifdef __cplusplus 118} 119#endif 120 121#endif // DISPLAY_LOG_H 122