1 /*
2  * Copyright (c) 2022 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 AUDIO_UHDF_LOG_H
17 #define AUDIO_UHDF_LOG_H
18 
19 #include <stdio.h>
20 #include "hdf_log.h"
21 #ifdef LOG_DOMAIN
22 #undef LOG_DOMAIN
23 #endif
24 #define LOG_DOMAIN 0xD002512
25 
26 #ifndef AUDIO_HDF_LOG
27 #define AUDIO_FUNC_LOGD(fmt, arg...) \
28     do {                             \
29     } while (0)
30 
31 #define AUDIO_FUNC_LOGI(fmt, arg...) \
32     do {                             \
33     } while (0)
34 #else
35 #define AUDIO_FUNC_LOGD(fmt, arg...)                                                \
36     do {                                                                            \
37         HDF_LOGD("[%{public}s][line:%{public}d]: " fmt, __func__, __LINE__, ##arg); \
38     } while (0)
39 
40 #define AUDIO_FUNC_LOGI(fmt, arg...)                                                \
41     do {                                                                            \
42         HDF_LOGI("[%{public}s][line:%{public}d]: " fmt, __func__, __LINE__, ##arg); \
43     } while (0)
44 #endif
45 
46 #define AUDIO_FUNC_LOGW(fmt, arg...)                                                \
47     do {                                                                            \
48         HDF_LOGW("[%{public}s][line:%{public}d]: " fmt, __func__, __LINE__, ##arg); \
49     } while (0)
50 
51 #define AUDIO_FUNC_LOGE(fmt, arg...)                                                \
52     do {                                                                            \
53         HDF_LOGE("[%{public}s][line:%{public}d]: " fmt, __func__, __LINE__, ##arg); \
54     } while (0)
55 
56 #ifndef CHECK_NULL_PTR_RETURN_DEFAULT
57 #define CHECK_NULL_PTR_RETURN_DEFAULT(pointer)          \
58     do {                                                      \
59         if ((pointer) == NULL) {                              \
60             AUDIO_FUNC_LOGE("%{public}s is null and return INVALID_PARAM", #pointer); \
61             return HDF_ERR_INVALID_PARAM;                                     \
62         }                                                     \
63     } while (0)
64 #endif
65 
66 #ifndef CHECK_NULL_PTR_RETURN_VALUE
67 #define CHECK_NULL_PTR_RETURN_VALUE(pointer, ret)          \
68     do {                                                      \
69         if ((pointer) == NULL) {                              \
70             AUDIO_FUNC_LOGE("%{public}s is null and return ret=%{public}d", #pointer, ret); \
71             return (ret);                                     \
72         }                                                     \
73     } while (0)
74 #endif
75 
76 #ifndef CHECK_NULL_PTR_RETURN
77 #define CHECK_NULL_PTR_RETURN(pointer)          \
78     do {                                                      \
79         if ((pointer) == NULL) {                              \
80             AUDIO_FUNC_LOGE("pointer is null and return"); \
81             return;                                     \
82         }                                                     \
83     } while (0)
84 #endif
85 
86 #ifndef CHECK_VALID_RANGE_RETURN
87 #define CHECK_VALID_RANGE_RETURN(value, minValue, maxValue, ret)          \
88     do {                                                      \
89         if ((value) < (minValue) || (value) > (maxValue)) {                              \
90             AUDIO_FUNC_LOGE("value is invalid and return ret=%{public}d", ret); \
91             return (ret);                                     \
92         }                                                     \
93     } while (0)
94 #endif
95 #endif
96