• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2025 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 HILOG_WRAPPER_H
17 #define HILOG_WRAPPER_H
18 
19 #define CONFIG_HILOG
20 #ifdef CONFIG_HILOG
21 #include "hilog/log.h"
22 namespace OHOS {
23 namespace ExternalDeviceManager {
24 
25 #ifdef EDM_LOGF
26 #undef EDM_LOGF
27 #endif
28 
29 #ifdef EDM_LOGE
30 #undef EDM_LOGE
31 #endif
32 
33 #ifdef EDM_LOGW
34 #undef EDM_LOGW
35 #endif
36 
37 #ifdef EDM_LOGI
38 #undef EDM_LOGI
39 #endif
40 
41 #ifdef EDM_LOGD
42 #undef EDM_LOGD
43 #endif
44 
45 // 0xD002550: part:ExternalDeviceManager module:Edm.
46 constexpr unsigned int BASE_EDM_DOMAIN_ID = 0xD002550;
47 
48 enum PkgErrCode {
49     PKG_OK = 0,
50     PKG_FAILURE = -1,
51     PKG_RDB_EXECUTE_FAILTURE = -2,
52     PKG_RDB_NO_INIT = -3,
53     PKG_RDB_EMPTY = -4,
54     PKG_PERMISSION_DENIED = -5,
55     PKG_NOP = -6,
56     PKG_OVERFLOW = -7,
57 };
58 
59 // param of log interface, such as EDM_LOGF.
60 enum UsbMgrSubModule {
61     MODULE_FRAMEWORK = 0,
62     MODULE_SERVICE,
63     MODULE_DEV_MGR,
64     MODULE_PKG_MGR,
65     MODULE_EA_MGR,
66     MODULE_BUS_USB,
67     MODULE_COMMON,
68     MODULE_USB_DDK,
69     EDM_MODULE_TEST,
70     MODULE_HID_DDK,
71     MODULE_BASE_DDK,
72     MODULE_USB_SERIAL_DDK,
73     MODULE_SCSIPERIPHERAL_DDK,
74     EDM_MODULE_BUTT,
75 };
76 
77 enum UsbMgrDomainId {
78     EDM_FRAMEWORK_DOMAIN = BASE_EDM_DOMAIN_ID + MODULE_FRAMEWORK,
79     EDM_SERVICE_DOMAIN,
80     EDM_DEV_MGR_DOMAIN,
81     EDM_PKG_MGR_DOMAIN,
82     EDM_DDK_DOMAIN,
83     EDM_BUTT,
84 };
85 
86 
87 static constexpr OHOS::HiviewDFX::HiLogLabel EDM_MGR_LABEL[EDM_MODULE_BUTT] = {
88     { LOG_CORE, EDM_FRAMEWORK_DOMAIN, "EdmFwk" },
89     { LOG_CORE, EDM_SERVICE_DOMAIN, "EdmService" },
90     { LOG_CORE, EDM_DEV_MGR_DOMAIN, "EdmDevMgr" },
91     { LOG_CORE, EDM_PKG_MGR_DOMAIN, "EdmPkgMgr" },
92     { LOG_CORE, EDM_FRAMEWORK_DOMAIN, "EdmEaMgr" },
93     { LOG_CORE, EDM_FRAMEWORK_DOMAIN, "EdmBusUsbMgr" },
94     { LOG_CORE, EDM_FRAMEWORK_DOMAIN, "EdmCommon" },
95     { LOG_CORE, EDM_DDK_DOMAIN, "EdmUsbDdk" },
96     { LOG_CORE, EDM_FRAMEWORK_DOMAIN, "EdmTest" },
97     { LOG_CORE, EDM_DDK_DOMAIN, "EdmHidDdk" },
98     { LOG_CORE, EDM_DDK_DOMAIN, "EdmBaseDdk" },
99     { LOG_CORE, EDM_DDK_DOMAIN, "EdmUsbSerialDdk" },
100     { LOG_CORE, EDM_DDK_DOMAIN, "EdmScsiDdk" },
101 };
102 
103 #ifndef EDM_FILENAME
104 #define EDM_FILENAME (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__)
105 #endif
106 
107 #ifndef EDM_FUNC_FMT
108 #define EDM_FUNC_FMT "[%{public}s(%{public}s:%{public}d)]"
109 #endif
110 
111 #ifndef EDM_FUNC_INFO
112 #define EDM_FUNC_INFO EDM_FILENAME, __FUNCTION__, __LINE__
113 #endif
114 
115 // In order to improve performance, do not check the module range, module should less than EDM_MODULE_BUTT.
116 #define EDM_LOGF(module, fmt, ...) \
117     (void)HILOG_IMPL(LOG_CORE, LOG_FATAL, EDM_MGR_LABEL[module].domain, EDM_MGR_LABEL[module].tag, \
118     EDM_FUNC_FMT fmt, EDM_FUNC_INFO, ##__VA_ARGS__)
119 #define EDM_LOGE(module, fmt, ...) \
120     (void)HILOG_IMPL(LOG_CORE, LOG_ERROR, EDM_MGR_LABEL[module].domain, EDM_MGR_LABEL[module].tag, \
121     EDM_FUNC_FMT fmt, EDM_FUNC_INFO, ##__VA_ARGS__)
122 #define EDM_LOGW(module, fmt, ...) \
123     (void)HILOG_IMPL(LOG_CORE, LOG_WARN, EDM_MGR_LABEL[module].domain, EDM_MGR_LABEL[module].tag, \
124     EDM_FUNC_FMT fmt, EDM_FUNC_INFO, ##__VA_ARGS__)
125 #define EDM_LOGI(module, fmt, ...) \
126     (void)HILOG_IMPL(LOG_CORE, LOG_INFO, EDM_MGR_LABEL[module].domain, EDM_MGR_LABEL[module].tag, \
127     EDM_FUNC_FMT fmt, EDM_FUNC_INFO, ##__VA_ARGS__)
128 #define EDM_LOGD(module, fmt, ...) \
129     (void)HILOG_IMPL(LOG_CORE, LOG_DEBUG, EDM_MGR_LABEL[module].domain, EDM_MGR_LABEL[module].tag, \
130     EDM_FUNC_FMT fmt, EDM_FUNC_INFO, ##__VA_ARGS__)
131 } // namespace ExternalDeviceManager
132 } // namespace OHOS
133 
134 #else
135 
136 #define EDM_LOGF(...)
137 #define EDM_LOGE(...)
138 #define EDM_LOGW(...)
139 #define EDM_LOGI(...)
140 #define EDM_LOGD(...)
141 
142 #endif // CONFIG_HILOG
143 
144 #endif // HILOG_WRAPPER_H
145