• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 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 SERVICES_MECHBODY_CONTROLLER_LOG_H_
17 #define SERVICES_MECHBODY_CONTROLLER_LOG_H_
18 
19 #include "errors.h"
20 #include "hilog/log.h"
21 #include <cinttypes>
22 #include <cstdint>
23 
24 namespace OHOS {
25 namespace MechBodyController {
26 #undef LOG_DOMAIN
27 #define LOG_DOMAIN 0xD004170
28 
29 #undef LOG_TAG
30 #define LOG_TAG "MechBodyController"
31 
32 #ifdef HILOGD
33 #undef HILOGD
34 #endif
35 
36 #ifdef HILOGF
37 #undef HILOGF
38 #endif
39 
40 #ifdef HILOGE
41 #undef HILOGE
42 #endif
43 
44 #ifdef HILOGW
45 #undef HILOGW
46 #endif
47 
48 #ifdef HILOGI
49 #undef HILOGI
50 #endif
51 
52 #define HILOGF(fmt, ...) HILOG_FATAL(LOG_CORE, "%{public}s::%{public}s " fmt, TAG.c_str(), __FUNCTION__, ##__VA_ARGS__)
53 #define HILOGE(fmt, ...) HILOG_ERROR(LOG_CORE, "%{public}s::%{public}s " fmt, TAG.c_str(), __FUNCTION__, ##__VA_ARGS__)
54 #define HILOGW(fmt, ...) HILOG_WARN(LOG_CORE, "%{public}s::%{public}s " fmt, TAG.c_str(), __FUNCTION__, ##__VA_ARGS__)
55 #define HILOGI(fmt, ...) HILOG_INFO(LOG_CORE, "%{public}s::%{public}s " fmt, TAG.c_str(), __FUNCTION__, ##__VA_ARGS__)
56 #define HILOGD(fmt, ...) HILOG_DEBUG(LOG_CORE, "%{public}s::%{public}s " fmt, TAG.c_str(), __FUNCTION__, ##__VA_ARGS__)
57 
58 
59 #define CHECK_POINTER_RETURN(object, log)                       \
60     do {                                                        \
61         if ((object) == nullptr) {                              \
62             HILOGE("%{public}s nullptr", (log));                \
63             return;                                             \
64         }                                                       \
65     } while (0)
66 
67 #define CHECK_POINTER_RETURN_VALUE(object, value, log)          \
68     do {                                                        \
69         if ((object) == nullptr) {                              \
70             HILOGE("%{public}s nullptr", (log));                \
71             return (value);                                     \
72         }                                                       \
73     } while (0)
74 
75 #define CHECK_ERR_RETURN_VALUE(errNo, value, log)                               \
76     do {                                                                        \
77         auto result = (errNo);                                                  \
78         if (result != ERR_OK) {                                                 \
79             HILOGE("%{public}s err, code %{public}d", (log), result);           \
80             return (value);                                                     \
81         }                                                                       \
82     } while (0)
83 
84 #define CHECK_ERR_RETURN(errNo, log)                                            \
85     do {                                                                        \
86         auto result = (errNo);                                                  \
87         if (result != ERR_OK) {                                                 \
88             HILOGE("%{public}s err, code %{public}d", (log), result);           \
89             return;                                                             \
90         }                                                                       \
91     } while (0)
92 
93 
94 enum {
95     /**
96      * Module type: Mechbody service core
97      */
98     MC_MODULE_TYPE_SERVICE = 0,
99 };
100 
101 // offset of EB error, only be used in this file.
102 constexpr ErrCode MC_SERVICE_ERR_OFFSET = ErrCodeOffset(SUBSYS_DISTRIBUTEDHARDWARE, MC_MODULE_TYPE_SERVICE);
103 
104 enum {
105     /**
106      * Result(96468992) for invalid parameters.
107      */
108     INVALID_PARAMETERS_ERR = MC_SERVICE_ERR_OFFSET,
109 
110     /**
111      * Result(96468993) for get sa manager failed.
112      */
113     MECH_GET_SAMGR_EXCEPTION,
114 
115     /**
116      * Result(96468994) for start mechbody service failed.
117      */
118     START_MECH_BODY_SERVICE_FAILED,
119 
120     /**
121      * Result(96468995) for napi send data to service by ipc failed.
122      */
123     NAPI_SEND_DATA_FAIL,
124 
125     /**
126      * Result(96468996) for napi receive data to service by ipc failed.
127      */
128     NAPI_RECV_DATA_FAIL,
129 
130     /**
131      * Result(96468997) for The IPC token does not match.
132      */
133     IPC_TOKEN_DOES_NOT_MATCH,
134 
135     /**
136      * Result(96468998) for The No matching service implementation is found.
137      */
138     NO_MATCHING_SERVICE_IMPL,
139 
140     /**
141      * Result(96468999) for invalid pid.
142      */
143     INVALID_PID,
144 
145     /**
146      * Result(96469000) for invalid mech id.
147      */
148     INVALID_MECH_ID,
149 
150     /**
151      * Result(96469001) for invalid remote object.
152      */
153     INVALID_REMOTE_OBJECT,
154 
155     /**
156      * Result(96469002) for invalid tracking layout.
157      */
158     INVALID_TRACKING_LAYOUT,
159 
160     /**
161      * Result(96469003) for invalid rotate parameters.
162      */
163     INVALID_ROTATE_PARAM,
164 
165     /**
166      * Result(96469004) for register callback failed.
167      */
168     REGISTER_CALLBACK_FAILED,
169 
170     /**
171      * Result(96469005) for unregister callback failed.
172      */
173     UNREGISTER_CALLBACK_FAILED,
174 
175     /**
176      * Result(96469006) for send callback info failed.
177      */
178     SEND_CALLBACK_INFO_FAILED,
179 
180     /**
181      * Result(96469007) for query device list failed.
182      */
183     QUERY_DEVICE_LIST_FAILED,
184 
185     /**
186      * Result(96469008) for unRegist failed.
187      */
188     UNREGISTER_FAILED_ERR,
189 
190     /**
191      * Result(96469009) for notify failed.
192      */
193     NOTIFICATION_FAILED_ERR,
194 
195     /**
196      * Result(96469010) for device not placed on mech.
197      */
198     DEVICE_NOT_PLACED_ON_MECH,
199 
200     /**
201      * Result(96469011) for device not placed on mech.
202      */
203     DETECTED_OBJECTS_EMPTY,
204 
205     /**
206      * Result(96469012) for camera info is empty.
207      */
208     CAMERA_INFO_IS_EMPTY,
209 
210     /**
211      * Result(96469013) for detected object is empty.
212      */
213     DETECTED_OBJECT_IS_EMPTY,
214 
215     /**
216      * Result(96469012) for can not found mach info.
217      */
218     MECH_INFO_NOT_FOUND,
219 
220     /**
221      * Result(96469013) for device has connected.
222      */
223     MECH_HAS_CONNECTED,
224 
225     /**
226      * Result(96469014) for device connect failed.
227      */
228     MECH_CONNECT_FAILED,
229 
230     /**
231      * Result(96469015) for device disconnect failed.
232      */
233     MECH_DISCONNECT_FAILED,
234 };
235 
236 enum MechNapiErrorCode {
237     /**
238      * Result(202) for permission denied.
239      */
240     PERMISSION_DENIED = 202,
241 
242     /**
243      * Result(401) for parameter check failed.
244      */
245     PARAMETER_CHECK_FAILED = 401,
246 
247     /**
248      * Result(33300001) for the system ability work abnormally.
249      */
250     SYSTEM_WORK_ABNORMALLY = 33300001,
251 
252     /**
253      * Result(33300002) for device not connected.
254      */
255     DEVICE_NOT_CONNECTED = 33300002,
256 
257     /**
258      * Result(33300003) for device not supported.
259      */
260     DEVICE_NOT_SUPPORTED = 33300003,
261 };
262 } // namespace MechBodyController
263 } // namespace OHOS
264 #endif // SERVICES_MECHBODY_CONTROLLER_LOG_H_
265