1 /*
2 * Copyright (c) 2023-2024 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 #include "dm_radar_helper.h"
17
18 #include <algorithm>
19 #include <cmath>
20 #include <sstream>
21 #include <iomanip>
22 #include <cJSON.h>
23 #include <errors.h>
24 #include "hisysevent.h"
25 #include "dm_constants.h"
26 #include "dm_log.h"
27 #include "parameter.h"
28 #include "accesstoken_kit.h"
29 #include "access_token.h"
30 #include "hap_token_info.h"
31 #include "ipc_skeleton.h"
32 #include "native_token_info.h"
33 #include "tokenid_kit.h"
34 using namespace OHOS::Security::AccessToken;
35 namespace OHOS {
36 namespace DistributedHardware {
37 const char* ORGPKGNAME = "deviceManager";
38 const char* SOFTBUSNAME = "dsoftbus";
39 const char* HICHAINNAME = "hichain";
40 constexpr int32_t INVALID_UDID_LENGTH = 10;
41 constexpr int32_t SUBSTR_UDID_LENGTH = 5;
42 constexpr int32_t DEFAULT_STAGE = 1;
43 constexpr const char* DM_DISCOVER_BEHAVIOR = "DM_DISCOVER_BEHAVIOR";
44 constexpr const char* DM_AUTHCATION_BEHAVIOR = "DM_AUTHCATION_BEHAVIOR";
45 DM_IMPLEMENT_SINGLE_INSTANCE(DmRadarHelper);
46
ReportDiscoverRegCallbackStageIdle(struct RadarInfo & info)47 int32_t DmRadarHelper::ReportDiscoverRegCallbackStageIdle(struct RadarInfo &info)
48 {
49 HiSysEventParam params[] = {
50 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
51 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
52 .v = { .s = (char *)info.hostName.c_str() }, .arraySize = 0, },
53 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
54 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
55 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
56 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_DISCOVER), }, .arraySize = 0, },
57 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
58 .v = { .i32 = static_cast<int32_t>(DisCoverStage::DISCOVER_REGISTER_CALLBACK), }, .arraySize = 0, },
59 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
60 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
61 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
62 .v = { .s = (char *)info.toCallPkg.c_str() }, .arraySize = 0, },
63 {.name = "COMM_SERV", .t = HISYSEVENT_INT32, .v = { .i32 = info.commServ, }, .arraySize = 0, },
64 };
65 size_t len = sizeof(params) / sizeof(params[0]);
66 return OH_HiSysEvent_Write(
67 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
68 DM_DISCOVER_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
69 }
70
ReportDiscoverRegCallback(struct RadarInfo & info)71 bool DmRadarHelper::ReportDiscoverRegCallback(struct RadarInfo &info)
72 {
73 int32_t res = DM_OK;
74 if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_IDLE)) {
75 res = ReportDiscoverRegCallbackStageIdle(info);
76 } else {
77 HiSysEventParam params[] = {
78 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
79 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
80 .v = { .s = (char *)info.hostName.c_str() }, .arraySize = 0, },
81 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
82 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
83 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
84 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_DISCOVER), }, .arraySize = 0, },
85 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
86 .v = { .i32 = static_cast<int32_t>(DisCoverStage::DISCOVER_REGISTER_CALLBACK), }, .arraySize = 0, },
87 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
88 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
89 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
90 .v = { .s = (char *)info.toCallPkg.c_str() }, .arraySize = 0, },
91 {.name = "COMM_SERV", .t = HISYSEVENT_INT32, .v = { .i32 = info.commServ, }, .arraySize = 0, },
92 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = info.errCode, }, .arraySize = 0, },
93 };
94 size_t len = sizeof(params) / sizeof(params[0]);
95 res = OH_HiSysEvent_Write(
96 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
97 DM_DISCOVER_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
98 }
99 if (res != DM_OK) {
100 LOGE("ReportDiscoverRegCallback error, res:%{public}d", res);
101 return false;
102 }
103 return true;
104 }
105
ReportDiscoverResCallbackStageSucc(struct RadarInfo & info)106 int32_t DmRadarHelper::ReportDiscoverResCallbackStageSucc(struct RadarInfo &info)
107 {
108 std::string peerUdid = GetAnonyUdid(info.peerUdid);
109 std::string localUdid = GetAnonyLocalUdid();
110 std::string peerNetId = GetAnonyUdid(info.peerNetId);
111 HiSysEventParam params[] = {
112 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
113 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
114 .v = { .s = (char *)SOFTBUSNAME }, .arraySize = 0, },
115 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
116 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
117 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
118 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_DISCOVER), }, .arraySize = 0, },
119 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
120 .v = { .i32 = static_cast<int32_t>(DisCoverStage::DISCOVER_REGISTER_CALLBACK), }, .arraySize = 0, },
121 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
122 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_SUCC), }, .arraySize = 0, },
123 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
124 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
125 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdid.c_str() }, .arraySize = 0, },
126 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
127 {.name = "COMM_SERV", .t = HISYSEVENT_INT32,
128 .v = { .i32 = static_cast<int32_t>(CommServ::USE_SOFTBUS), }, .arraySize = 0, },
129 {.name = "PEER_NET_ID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerNetId.c_str() }, .arraySize = 0, },
130 };
131 size_t len = sizeof(params) / sizeof(params[0]);
132 return OH_HiSysEvent_Write(
133 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
134 DM_DISCOVER_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
135 }
136
ReportDiscoverResCallback(struct RadarInfo & info)137 bool DmRadarHelper::ReportDiscoverResCallback(struct RadarInfo &info)
138 {
139 int32_t res = DM_OK;
140 if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
141 res = ReportDiscoverResCallbackStageSucc(info);
142 } else {
143 std::string peerUdid = GetAnonyUdid(info.peerUdid);
144 std::string localUdid = GetAnonyLocalUdid();
145 std::string peerNetId = GetAnonyUdid(info.peerNetId);
146 HiSysEventParam params[] = {
147 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
148 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
149 .v = { .s = (char *)SOFTBUSNAME }, .arraySize = 0, },
150 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
151 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
152 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
153 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_DISCOVER), }, .arraySize = 0, },
154 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
155 .v = { .i32 = static_cast<int32_t>(DisCoverStage::DISCOVER_REGISTER_CALLBACK), }, .arraySize = 0, },
156 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
157 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_FAIL), }, .arraySize = 0, },
158 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
159 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
160 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdid.c_str() }, .arraySize = 0, },
161 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
162 {.name = "COMM_SERV", .t = HISYSEVENT_INT32,
163 .v = { .i32 = static_cast<int32_t>(CommServ::USE_SOFTBUS), }, .arraySize = 0, },
164 {.name = "PEER_NET_ID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerNetId.c_str() }, .arraySize = 0, },
165 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = info.errCode, }, .arraySize = 0, },
166 };
167 size_t len = sizeof(params) / sizeof(params[0]);
168 res = OH_HiSysEvent_Write(
169 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
170 DM_DISCOVER_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
171 }
172 if (res != DM_OK) {
173 LOGE("ReportDiscoverResCallback error, res:%{public}d", res);
174 return false;
175 }
176 return true;
177 }
178
ReportDiscoverUserResStageCancel(struct RadarInfo & info)179 int32_t DmRadarHelper::ReportDiscoverUserResStageCancel(struct RadarInfo &info)
180 {
181 HiSysEventParam params[] = {
182 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
183 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
184 .v = { .s = (char *)info.hostName.c_str() }, .arraySize = 0, },
185 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
186 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
187 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
188 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_DISCOVER), }, .arraySize = 0, },
189 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
190 .v = { .i32 = static_cast<int32_t>(DisCoverStage::DISCOVER_USER_DEAL_RES), }, .arraySize = 0, },
191 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
192 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
193 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
194 {.name = "COMM_SERV", .t = HISYSEVENT_INT32,
195 .v = { .i32 = static_cast<int32_t>(CommServ::USE_SOFTBUS), }, .arraySize = 0, },
196 };
197 size_t len = sizeof(params) / sizeof(params[0]);
198 return OH_HiSysEvent_Write(
199 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
200 DM_DISCOVER_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
201 }
202
ReportDiscoverUserResStageSucc(struct RadarInfo & info)203 int32_t DmRadarHelper::ReportDiscoverUserResStageSucc(struct RadarInfo &info)
204 {
205 HiSysEventParam params[] = {
206 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
207 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
208 .v = { .s = (char *)info.hostName.c_str() }, .arraySize = 0, },
209 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
210 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
211 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
212 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_DISCOVER), }, .arraySize = 0, },
213 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
214 .v = { .i32 = static_cast<int32_t>(DisCoverStage::DISCOVER_USER_DEAL_RES), }, .arraySize = 0, },
215 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
216 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
217 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
218 {.name = "COMM_SERV", .t = HISYSEVENT_INT32,
219 .v = { .i32 = static_cast<int32_t>(CommServ::USE_SOFTBUS), }, .arraySize = 0, },
220 };
221 size_t len = sizeof(params) / sizeof(params[0]);
222 return OH_HiSysEvent_Write(
223 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
224 DM_DISCOVER_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
225 }
226
ReportDiscoverUserResStageOther(struct RadarInfo & info)227 int32_t DmRadarHelper::ReportDiscoverUserResStageOther(struct RadarInfo &info)
228 {
229 HiSysEventParam params[] = {
230 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
231 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
232 .v = { .s = (char *)info.hostName.c_str() }, .arraySize = 0, },
233 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
234 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
235 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
236 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_DISCOVER), }, .arraySize = 0, },
237 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
238 .v = { .i32 = static_cast<int32_t>(DisCoverStage::DISCOVER_USER_DEAL_RES), }, .arraySize = 0, },
239 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
240 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
241 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
242 {.name = "COMM_SERV", .t = HISYSEVENT_INT32,
243 .v = { .i32 = static_cast<int32_t>(CommServ::USE_SOFTBUS), }, .arraySize = 0, },
244 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = info.errCode, }, .arraySize = 0, },
245 };
246 size_t len = sizeof(params) / sizeof(params[0]);
247 return OH_HiSysEvent_Write(
248 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
249 DM_DISCOVER_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
250 }
251
ReportDiscoverUserRes(struct RadarInfo info)252 bool DmRadarHelper::ReportDiscoverUserRes(struct RadarInfo info)
253 {
254 int32_t res = DM_OK;
255 if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_CANCEL)) {
256 res = ReportDiscoverUserResStageCancel(info);
257 } else if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
258 res = ReportDiscoverUserResStageSucc(info);
259 } else {
260 res = ReportDiscoverUserResStageOther(info);
261 }
262 if (res != DM_OK) {
263 LOGE("ReportDiscoverUserRes error, res:%{public}d", res);
264 return false;
265 }
266 return true;
267 }
268
ReportAuthStart(const std::string & peerUdid,const std::string & pkgName)269 bool DmRadarHelper::ReportAuthStart(const std::string &peerUdid, const std::string &pkgName)
270 {
271 char funcName[] = "AuthenticateDevice";
272 std::string peerUdidTmp = GetAnonyUdid(peerUdid);
273 std::string localUdid = GetAnonyLocalUdid();
274 HiSysEventParam params[] = {
275 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
276 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = funcName }, .arraySize = 0, },
277 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
278 .v = { .s = (char *)pkgName.c_str() }, .arraySize = 0, },
279 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
280 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
281 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
282 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
283 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_START), }, .arraySize = 0, },
284 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
285 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_SUCC), }, .arraySize = 0, },
286 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
287 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_START), }, .arraySize = 0, },
288 {.name = "IS_TRUST", .t = HISYSEVENT_INT32,
289 .v = { .i32 = static_cast<int32_t>(TrustStatus::NOT_TRUST), }, .arraySize = 0, },
290 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdidTmp.c_str() }, .arraySize = 0, },
291 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
292 };
293 size_t len = sizeof(params) / sizeof(params[0]);
294 int32_t res = OH_HiSysEvent_Write(
295 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
296 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
297 if (res != DM_OK) {
298 LOGE("ReportAuthStart error, res:%{public}d", res);
299 return false;
300 }
301 return true;
302 }
303
ReportAuthOpenSessionStageIdle(struct RadarInfo & info)304 int32_t DmRadarHelper::ReportAuthOpenSessionStageIdle(struct RadarInfo &info)
305 {
306 std::string peerUdid = GetAnonyUdid(info.peerUdid);
307 std::string localUdid = GetAnonyLocalUdid();
308 HiSysEventParam params[] = {
309 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
310 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
311 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
312 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
313 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
314 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_OPEN_SESSION), }, .arraySize = 0, },
315 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
316 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
317 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdid.c_str() }, .arraySize = 0, },
318 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
319 {.name = "CH_ID", .t = HISYSEVENT_INT32, .v = { .i32 = info.channelId, }, .arraySize = 0, },
320 {.name = "IS_TRUST", .t = HISYSEVENT_INT32,
321 .v = { .i32 = static_cast<int32_t>(TrustStatus::NOT_TRUST), }, .arraySize = 0, },
322 {.name = "COMM_SERV", .t = HISYSEVENT_INT32, .v = { .i32 = info.commServ, }, .arraySize = 0, },
323 {.name = "LOCAL_SESS_NAME", .t = HISYSEVENT_STRING,
324 .v = { .s = (char *)info.localSessName.c_str() }, .arraySize = 0, },
325 {.name = "PEER_SESS_NAME", .t = HISYSEVENT_STRING,
326 .v = { .s = (char *)info.peerSessName.c_str() }, .arraySize = 0, },
327 };
328 size_t len = sizeof(params) / sizeof(params[0]);
329 return OH_HiSysEvent_Write(
330 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
331 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
332 }
333
ReportAuthOpenSession(struct RadarInfo & info)334 bool DmRadarHelper::ReportAuthOpenSession(struct RadarInfo &info)
335 {
336 int32_t res = DM_OK;
337 if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_IDLE)) {
338 res = ReportAuthOpenSessionStageIdle(info);
339 } else {
340 std::string peerUdid = GetAnonyUdid(info.peerUdid);
341 std::string localUdid = GetAnonyLocalUdid();
342 HiSysEventParam params[] = {
343 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
344 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
345 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
346 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
347 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
348 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_OPEN_SESSION), }, .arraySize = 0, },
349 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
350 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
351 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdid.c_str() }, .arraySize = 0, },
352 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
353 {.name = "CH_ID", .t = HISYSEVENT_INT32, .v = { .i32 = info.channelId, }, .arraySize = 0, },
354 {.name = "IS_TRUST", .t = HISYSEVENT_INT32,
355 .v = { .i32 = static_cast<int32_t>(TrustStatus::NOT_TRUST), }, .arraySize = 0, },
356 {.name = "COMM_SERV", .t = HISYSEVENT_INT32, .v = { .i32 = info.commServ, }, .arraySize = 0, },
357 {.name = "LOCAL_SESS_NAME", .t = HISYSEVENT_STRING,
358 .v = { .s = (char *)info.localSessName.c_str() }, .arraySize = 0, },
359 {.name = "PEER_SESS_NAME", .t = HISYSEVENT_STRING,
360 .v = { .s = (char *)info.peerSessName.c_str() }, .arraySize = 0, },
361 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = info.errCode, }, .arraySize = 0, },
362 };
363 size_t len = sizeof(params) / sizeof(params[0]);
364 res = OH_HiSysEvent_Write(
365 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
366 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
367 }
368 if (res != DM_OK) {
369 LOGE("ReportAuthOpenSession error, res:%{public}d", res);
370 return false;
371 }
372 return true;
373 }
374
ReportAuthSessionOpenCb(struct RadarInfo & info)375 bool DmRadarHelper::ReportAuthSessionOpenCb(struct RadarInfo &info)
376 {
377 std::string peerUdid = GetAnonyUdid(info.peerUdid);
378 std::string localUdid = GetAnonyLocalUdid();
379 HiSysEventParam params[] = {
380 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
381 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
382 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
383 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
384 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
385 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_OPEN_SESSION), }, .arraySize = 0, },
386 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
387 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdid.c_str() }, .arraySize = 0, },
388 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
389 {.name = "CH_ID", .t = HISYSEVENT_INT32, .v = { .i32 = info.channelId, }, .arraySize = 0, },
390 };
391 size_t len = sizeof(params) / sizeof(params[0]);
392 int32_t res = OH_HiSysEvent_Write(
393 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
394 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
395 if (res != DM_OK) {
396 LOGE("ReportAuthSessionOpenCb error, res:%{public}d", res);
397 return false;
398 }
399 return true;
400 }
401
ReportAuthSendRequest(struct RadarInfo & info)402 bool DmRadarHelper::ReportAuthSendRequest(struct RadarInfo &info)
403 {
404 HiSysEventParam params[] = {
405 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
406 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
407 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
408 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
409 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
410 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_SEND_REQUEST), }, .arraySize = 0, },
411 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
412 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
413 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_SUCC), }, .arraySize = 0, },
414 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
415 {.name = "LOCAL_SESS_NAME", .t = HISYSEVENT_STRING,
416 .v = { .s = (char *)DM_SESSION_NAME }, .arraySize = 0, },
417 {.name = "IS_TRUST", .t = HISYSEVENT_INT32,
418 .v = { .i32 = static_cast<int32_t>(TrustStatus::NOT_TRUST), }, .arraySize = 0, },
419 {.name = "COMM_SERV", .t = HISYSEVENT_INT32, .v = { .i32 = info.commServ, }, .arraySize = 0, },
420 };
421 size_t len = sizeof(params) / sizeof(params[0]);
422 int32_t res = OH_HiSysEvent_Write(
423 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
424 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
425 if (res != DM_OK) {
426 LOGE("ReportAuthSessionOpenCb error, res:%{public}d", res);
427 return false;
428 }
429 return true;
430 }
431
ReportAuthPullAuthBox(struct RadarInfo & info)432 bool DmRadarHelper::ReportAuthPullAuthBox(struct RadarInfo &info)
433 {
434 HiSysEventParam params[] = {
435 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
436 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
437 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
438 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
439 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
440 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_PULL_AUTH_BOX), }, .arraySize = 0, },
441 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
442 };
443 size_t len = sizeof(params) / sizeof(params[0]);
444 int32_t res = OH_HiSysEvent_Write(
445 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
446 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
447 if (res != DM_OK) {
448 LOGE("ReportAuthPullAuthBox error, res:%{public}d", res);
449 return false;
450 }
451 return true;
452 }
453
ReportAuthConfirmBox(struct RadarInfo & info)454 bool DmRadarHelper::ReportAuthConfirmBox(struct RadarInfo &info)
455 {
456 int32_t res = DM_OK;
457 if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
458 HiSysEventParam params[] = {
459 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
460 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
461 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
462 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
463 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
464 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_PULL_AUTH_BOX), }, .arraySize = 0, },
465 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
466 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
467 };
468 size_t len = sizeof(params) / sizeof(params[0]);
469 res = OH_HiSysEvent_Write(
470 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
471 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
472 } else {
473 HiSysEventParam params[] = {
474 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
475 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
476 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
477 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
478 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
479 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_PULL_AUTH_BOX), }, .arraySize = 0, },
480 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
481 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
482 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = info.errCode, }, .arraySize = 0, },
483 };
484 size_t len = sizeof(params) / sizeof(params[0]);
485 res = OH_HiSysEvent_Write(
486 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
487 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
488 }
489 if (res != DM_OK) {
490 LOGE("ReportAuthConfirmBox error, res:%{public}d", res);
491 return false;
492 }
493 return true;
494 }
495
ReportAuthCreateGroupStageIdle(struct RadarInfo & info)496 int32_t DmRadarHelper::ReportAuthCreateGroupStageIdle(struct RadarInfo &info)
497 {
498 std::string localUdid = GetAnonyLocalUdid();
499 HiSysEventParam params[] = {
500 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
501 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
502 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
503 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
504 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
505 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_CREATE_HICHAIN_GROUP), }, .arraySize = 0, },
506 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
507 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
508 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
509 .v = { .s = (char *)info.toCallPkg.c_str() }, .arraySize = 0, },
510 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
511 };
512 size_t len = sizeof(params) / sizeof(params[0]);
513 return OH_HiSysEvent_Write(
514 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
515 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
516 }
517
ReportAuthCreateGroup(struct RadarInfo & info)518 bool DmRadarHelper::ReportAuthCreateGroup(struct RadarInfo &info)
519 {
520 int32_t res = DM_OK;
521 if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_IDLE)) {
522 res = ReportAuthCreateGroupStageIdle(info);
523 } else {
524 std::string localUdid = GetAnonyLocalUdid();
525 HiSysEventParam params[] = {
526 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
527 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
528 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
529 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
530 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
531 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_CREATE_HICHAIN_GROUP), }, .arraySize = 0, },
532 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
533 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
534 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
535 .v = { .s = (char *)info.toCallPkg.c_str() }, .arraySize = 0, },
536 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
537 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = info.errCode, }, .arraySize = 0, },
538 };
539 size_t len = sizeof(params) / sizeof(params[0]);
540 res = OH_HiSysEvent_Write(
541 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
542 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
543 }
544 if (res != DM_OK) {
545 LOGE("ReportAuthCreateGroup error, res:%{public}d", res);
546 return false;
547 }
548 return true;
549 }
550
ReportAuthCreateGroupCb(std::string funcName,int32_t stageRes)551 bool DmRadarHelper::ReportAuthCreateGroupCb(std::string funcName, int32_t stageRes)
552 {
553 int32_t res = DM_OK;
554 if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
555 HiSysEventParam params[] = {
556 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
557 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
558 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
559 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
560 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
561 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_CREATE_HICHAIN_GROUP), }, .arraySize = 0, },
562 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = stageRes, }, .arraySize = 0, },
563 {.name = "HOST_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)HICHAINNAME }, .arraySize = 0, },
564 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
565 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
566 };
567 size_t len = sizeof(params) / sizeof(params[0]);
568 res = OH_HiSysEvent_Write(
569 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
570 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
571 } else {
572 HiSysEventParam params[] = {
573 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
574 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
575 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
576 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
577 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
578 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_CREATE_HICHAIN_GROUP), }, .arraySize = 0, },
579 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = stageRes, }, .arraySize = 0, },
580 {.name = "HOST_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)HICHAINNAME }, .arraySize = 0, },
581 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
582 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
583 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32,
584 .v = { .i32 = GetErrCode(ERR_DM_CREATE_GROUP_FAILED), }, .arraySize = 0, },
585 };
586 size_t len = sizeof(params) / sizeof(params[0]);
587 res = OH_HiSysEvent_Write(
588 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
589 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
590 }
591 if (res != DM_OK) {
592 LOGE("ReportAuthCreateGroupCb error, res:%{public}d", res);
593 return false;
594 }
595 return true;
596 }
597
ReportAuthPullPinBox(struct RadarInfo & info)598 bool DmRadarHelper::ReportAuthPullPinBox(struct RadarInfo &info)
599 {
600 HiSysEventParam params[] = {
601 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
602 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
603 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
604 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
605 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
606 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_PULL_PIN_BOX_START), }, .arraySize = 0, },
607 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
608 };
609 size_t len = sizeof(params) / sizeof(params[0]);
610 int32_t res = OH_HiSysEvent_Write(
611 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
612 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
613 if (res != DM_OK) {
614 LOGE("ReportAuthPullPinBox error, res:%{public}d", res);
615 return false;
616 }
617 return true;
618 }
619
ReportAuthInputPinBox(struct RadarInfo & info)620 bool DmRadarHelper::ReportAuthInputPinBox(struct RadarInfo &info)
621 {
622 int32_t res = DM_OK;
623 if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
624 HiSysEventParam params[] = {
625 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
626 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
627 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
628 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
629 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
630 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_PULL_PIN_INPUT_BOX_END), }, .arraySize = 0, },
631 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
632 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
633 };
634 size_t len = sizeof(params) / sizeof(params[0]);
635 res = OH_HiSysEvent_Write(
636 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
637 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
638 } else {
639 HiSysEventParam params[] = {
640 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
641 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
642 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
643 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
644 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
645 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_PULL_PIN_INPUT_BOX_END), }, .arraySize = 0, },
646 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
647 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
648 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = info.errCode, }, .arraySize = 0, },
649 };
650 size_t len = sizeof(params) / sizeof(params[0]);
651 res = OH_HiSysEvent_Write(
652 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
653 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
654 }
655 if (res != DM_OK) {
656 LOGE("ReportAuthInputPinBox error, res:%{public}d", res);
657 return false;
658 }
659 return true;
660 }
661
ReportAuthAddGroupStageIdle(struct RadarInfo & info)662 int32_t DmRadarHelper::ReportAuthAddGroupStageIdle(struct RadarInfo &info)
663 {
664 std::string peerUdid = GetAnonyUdid(info.peerUdid);
665 std::string localUdid = GetAnonyLocalUdid();
666 HiSysEventParam params[] = {
667 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
668 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
669 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
670 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
671 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
672 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_ADD_HICHAIN_GROUP), }, .arraySize = 0, },
673 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
674 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
675 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdid.c_str() }, .arraySize = 0, },
676 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
677 .v = { .s = (char *)HICHAINNAME }, .arraySize = 0, },
678 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
679 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
680 };
681 size_t len = sizeof(params) / sizeof(params[0]);
682 return OH_HiSysEvent_Write(
683 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
684 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
685 }
686
ReportAuthAddGroup(struct RadarInfo & info)687 bool DmRadarHelper::ReportAuthAddGroup(struct RadarInfo &info)
688 {
689 int32_t res = DM_OK;
690 if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_IDLE)) {
691 res = ReportAuthAddGroupStageIdle(info);
692 } else {
693 std::string peerUdid = GetAnonyUdid(info.peerUdid);
694 std::string localUdid = GetAnonyLocalUdid();
695 HiSysEventParam params[] = {
696 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
697 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
698 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
699 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
700 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
701 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_ADD_HICHAIN_GROUP), }, .arraySize = 0, },
702 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
703 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
704 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdid.c_str() }, .arraySize = 0, },
705 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
706 .v = { .s = (char *)HICHAINNAME }, .arraySize = 0, },
707 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
708 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
709 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = info.errCode, }, .arraySize = 0, },
710 };
711 size_t len = sizeof(params) / sizeof(params[0]);
712 res = OH_HiSysEvent_Write(
713 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
714 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
715 }
716 if (res != DM_OK) {
717 LOGE("ReportAuthAddGroup error, res:%{public}d", res);
718 return false;
719 }
720 return true;
721 }
722
ReportAuthAddGroupCb(std::string funcName,int32_t stageRes)723 bool DmRadarHelper::ReportAuthAddGroupCb(std::string funcName, int32_t stageRes)
724 {
725 int32_t res = DM_OK;
726 if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
727 HiSysEventParam params[] = {
728 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
729 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
730 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
731 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
732 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
733 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_ADD_HICHAIN_GROUP), }, .arraySize = 0, },
734 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = stageRes, }, .arraySize = 0, },
735 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
736 .v = { .s = (char *)HICHAINNAME }, .arraySize = 0, },
737 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
738 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
739 };
740 size_t len = sizeof(params) / sizeof(params[0]);
741 res = OH_HiSysEvent_Write(
742 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
743 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
744 } else {
745 HiSysEventParam params[] = {
746 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
747 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
748 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
749 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_AUTHCATION), }, .arraySize = 0, },
750 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
751 .v = { .i32 = static_cast<int32_t>(AuthStage::AUTH_ADD_HICHAIN_GROUP), }, .arraySize = 0, },
752 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = stageRes, }, .arraySize = 0, },
753 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
754 .v = { .s = (char *)HICHAINNAME }, .arraySize = 0, },
755 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
756 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
757 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32,
758 .v = { .i32 = GetErrCode(ERR_DM_ADD_GROUP_FAILED), }, .arraySize = 0, },
759 };
760 size_t len = sizeof(params) / sizeof(params[0]);
761 res = OH_HiSysEvent_Write(
762 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
763 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
764 }
765 if (res != DM_OK) {
766 LOGE("ReportAuthAddGroupCb error, res:%{public}d", res);
767 return false;
768 }
769 return true;
770 }
771
ReportNetworkOnline(struct RadarInfo & info)772 bool DmRadarHelper::ReportNetworkOnline(struct RadarInfo &info)
773 {
774 std::string peerUdid = GetAnonyUdid(info.peerUdid);
775 std::string localUdid = GetAnonyLocalUdid();
776 std::string peerNetId = GetAnonyUdid(info.peerNetId);
777 HiSysEventParam params[] = {
778 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
779 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
780 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
781 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_NETWORK), }, .arraySize = 0, },
782 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
783 .v = { .i32 = static_cast<int32_t>(NetworkStage::NETWORK_ONLINE), }, .arraySize = 0, },
784 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
785 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
786 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
787 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdid.c_str() }, .arraySize = 0, },
788 {.name = "PEER_NET_ID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerNetId.c_str() }, .arraySize = 0, },
789 {.name = "IS_TRUST", .t = HISYSEVENT_INT32, .v = { .i32 = info.isTrust, }, .arraySize = 0, },
790 };
791 size_t len = sizeof(params) / sizeof(params[0]);
792 int32_t res = OH_HiSysEvent_Write(
793 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
794 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
795 if (res != DM_OK) {
796 LOGE("ReportNetworkOnline error, res:%{public}d", res);
797 return false;
798 }
799 return true;
800 }
801
ReportNetworkOffline(struct RadarInfo & info)802 bool DmRadarHelper::ReportNetworkOffline(struct RadarInfo &info)
803 {
804 std::string peerUdid = GetAnonyUdid(info.peerUdid);
805 std::string localUdid = GetAnonyLocalUdid();
806 std::string peerNetId = GetAnonyUdid(info.peerNetId);
807 HiSysEventParam params[] = {
808 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
809 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
810 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
811 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_NETWORK), }, .arraySize = 0, },
812 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
813 .v = { .i32 = static_cast<int32_t>(NetworkStage::NETWORK_OFFLINE), }, .arraySize = 0, },
814 {.name = "STAGE_RES", .t = HISYSEVENT_INT32, .v = { .i32 = info.stageRes, }, .arraySize = 0, },
815 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32, .v = { .i32 = info.bizState, }, .arraySize = 0, },
816 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
817 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdid.c_str() }, .arraySize = 0, },
818 {.name = "PEER_NET_ID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerNetId.c_str() }, .arraySize = 0, },
819 };
820 size_t len = sizeof(params) / sizeof(params[0]);
821 int32_t res = OH_HiSysEvent_Write(
822 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
823 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
824 if (res != DM_OK) {
825 LOGE("ReportNetworkOffline error, res:%{public}d", res);
826 return false;
827 }
828 return true;
829 }
830
ReportDeleteTrustRelation(struct RadarInfo & info)831 bool DmRadarHelper::ReportDeleteTrustRelation(struct RadarInfo &info)
832 {
833 std::string peerUdid = GetAnonyUdid(info.peerUdid);
834 std::string localUdid = GetAnonyLocalUdid();
835 std::string peerNetId = GetAnonyUdid(info.peerNetId);
836 HiSysEventParam params[] = {
837 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
838 {.name = "HOST_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.hostName.c_str() }, .arraySize = 0, },
839 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)info.funcName.c_str() }, .arraySize = 0, },
840 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
841 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
842 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_DELET_TRUST_RELATION), }, .arraySize = 0, },
843 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
844 .v = { .i32 = static_cast<int32_t>(DeleteTrust::DELETE_TRUST), }, .arraySize = 0, },
845 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
846 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_SUCC), }, .arraySize = 0, },
847 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
848 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
849 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
850 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdid.c_str() }, .arraySize = 0, },
851 {.name = "PEER_NET_ID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerNetId.c_str() }, .arraySize = 0, },
852 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
853 .v = { .s = (char *)info.toCallPkg.c_str() }, .arraySize = 0, },
854 };
855 size_t len = sizeof(params) / sizeof(params[0]);
856 int32_t res = OH_HiSysEvent_Write(
857 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
858 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
859 if (res != DM_OK) {
860 LOGE("ReportDeleteTrustRelation error, res:%{public}d", res);
861 return false;
862 }
863 return true;
864 }
865
ReportCreatePinHolderStageSucc(std::string hostName,int32_t channelId,std::string peerUdid,int32_t errCode,int32_t stageRes)866 int32_t DmRadarHelper::ReportCreatePinHolderStageSucc(std::string hostName,
867 int32_t channelId, std::string peerUdid, int32_t errCode, int32_t stageRes)
868 {
869 char funcName[] = "CreatePinHolder";
870 std::string peerUdidTmp = GetAnonyUdid(peerUdid);
871 std::string localUdid = GetAnonyLocalUdid();
872 HiSysEventParam params[] = {
873 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
874 {.name = "HOST_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)hostName.c_str() }, .arraySize = 0, },
875 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = funcName }, .arraySize = 0, },
876 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
877 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
878 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_PIN_HOLDER), }, .arraySize = 0, },
879 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
880 .v = { .i32 = static_cast<int32_t>(PinHolderStage::CREATE_PIN_HOLDER), }, .arraySize = 0, },
881 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
882 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_SUCC), }, .arraySize = 0, },
883 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
884 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_START), }, .arraySize = 0, },
885 {.name = "CH_ID", .t = HISYSEVENT_INT32, .v = { .i32 = channelId, }, .arraySize = 0, },
886 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
887 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdidTmp.c_str() }, .arraySize = 0, },
888 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
889 .v = { .s = (char *)SOFTBUSNAME }, .arraySize = 0, },
890 };
891 size_t len = sizeof(params) / sizeof(params[0]);
892 return OH_HiSysEvent_Write(
893 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
894 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
895 }
896
ReportCreatePinHolder(std::string hostName,int32_t channelId,std::string peerUdid,int32_t errCode,int32_t stageRes)897 void DmRadarHelper::ReportCreatePinHolder(std::string hostName,
898 int32_t channelId, std::string peerUdid, int32_t errCode, int32_t stageRes)
899 {
900 int32_t res = DM_OK;
901 char funcName[] = "CreatePinHolder";
902 if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
903 res = ReportCreatePinHolderStageSucc(hostName, channelId, peerUdid, errCode, stageRes);
904 if (res != DM_OK) {
905 LOGE("ReportDeleteTrustRelation error, res:%{public}d", res);
906 return;
907 }
908 } else {
909 std::string peerUdidTmp = GetAnonyUdid(peerUdid);
910 std::string localUdid = GetAnonyLocalUdid();
911 HiSysEventParam params[] = {
912 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
913 {.name = "HOST_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)hostName.c_str() }, .arraySize = 0, },
914 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = funcName }, .arraySize = 0, },
915 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
916 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
917 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_PIN_HOLDER), }, .arraySize = 0, },
918 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
919 .v = { .i32 = static_cast<int32_t>(PinHolderStage::CREATE_PIN_HOLDER), }, .arraySize = 0, },
920 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
921 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_FAIL), }, .arraySize = 0, },
922 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
923 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
924 {.name = "CH_ID", .t = HISYSEVENT_INT32, .v = { .i32 = channelId, }, .arraySize = 0, },
925 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
926 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdidTmp.c_str() }, .arraySize = 0, },
927 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
928 .v = { .s = (char *)SOFTBUSNAME }, .arraySize = 0, },
929 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = errCode, }, .arraySize = 0, },
930 };
931 size_t len = sizeof(params) / sizeof(params[0]);
932 res = OH_HiSysEvent_Write(
933 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
934 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
935 if (res != DM_OK) {
936 LOGE("ReportDeleteTrustRelation error, res:%{public}d", res);
937 return;
938 }
939 }
940 return;
941 }
942
ReportDestroyPinHolderStageSucc(std::string hostName,std::string peerUdid,int32_t errCode,int32_t stageRes)943 int32_t DmRadarHelper::ReportDestroyPinHolderStageSucc(std::string hostName,
944 std::string peerUdid, int32_t errCode, int32_t stageRes)
945 {
946 char funcName[] = "DestroyPinHolder";
947 std::string peerUdidTmp = GetAnonyUdid(peerUdid);
948 std::string localUdid = GetAnonyLocalUdid();
949 HiSysEventParam params[] = {
950 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
951 {.name = "HOST_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)hostName.c_str() }, .arraySize = 0, },
952 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = funcName }, .arraySize = 0, },
953 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
954 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
955 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_PIN_HOLDER), }, .arraySize = 0, },
956 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
957 .v = { .i32 = static_cast<int32_t>(PinHolderStage::DESTROY_PIN_HOLDER), }, .arraySize = 0, },
958 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
959 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_SUCC), }, .arraySize = 0, },
960 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
961 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
962 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
963 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdidTmp.c_str() }, .arraySize = 0, },
964 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
965 .v = { .s = (char *)SOFTBUSNAME }, .arraySize = 0, },
966 };
967 size_t len = sizeof(params) / sizeof(params[0]);
968 return OH_HiSysEvent_Write(
969 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
970 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
971 }
972
ReportDestroyPinHolder(std::string hostName,std::string peerUdid,int32_t errCode,int32_t stageRes)973 void DmRadarHelper::ReportDestroyPinHolder(std::string hostName,
974 std::string peerUdid, int32_t errCode, int32_t stageRes)
975 {
976 int32_t res = DM_OK;
977 char funcName[] = "DestroyPinHolder";
978 if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
979 res = ReportDestroyPinHolderStageSucc(hostName, peerUdid, errCode, stageRes);
980 if (res != DM_OK) {
981 LOGE("ReportDeleteTrustRelation error, res:%{public}d", res);
982 return;
983 }
984 } else {
985 std::string peerUdidTmp = GetAnonyUdid(peerUdid);
986 std::string localUdid = GetAnonyLocalUdid();
987 HiSysEventParam params[] = {
988 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
989 {.name = "HOST_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)hostName.c_str() }, .arraySize = 0, },
990 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = funcName }, .arraySize = 0, },
991 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
992 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
993 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_PIN_HOLDER), }, .arraySize = 0, },
994 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
995 .v = { .i32 = static_cast<int32_t>(PinHolderStage::DESTROY_PIN_HOLDER), }, .arraySize = 0, },
996 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
997 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_FAIL), }, .arraySize = 0, },
998 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
999 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
1000 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
1001 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdidTmp.c_str() }, .arraySize = 0, },
1002 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
1003 .v = { .s = (char *)SOFTBUSNAME }, .arraySize = 0, },
1004 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = errCode, }, .arraySize = 0, },
1005 };
1006 size_t len = sizeof(params) / sizeof(params[0]);
1007 res = OH_HiSysEvent_Write(
1008 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
1009 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
1010 if (res != DM_OK) {
1011 LOGE("ReportDeleteTrustRelation error, res:%{public}d", res);
1012 return;
1013 }
1014 }
1015 return;
1016 }
1017
ReportSendOrReceiveHolderMsgStageOther(int32_t bizStage,std::string funcName,std::string peerUdid)1018 int32_t DmRadarHelper::ReportSendOrReceiveHolderMsgStageOther(int32_t bizStage,
1019 std::string funcName, std::string peerUdid)
1020 {
1021 std::string peerUdidTmp = GetAnonyUdid(peerUdid);
1022 std::string localUdid = GetAnonyLocalUdid();
1023 HiSysEventParam params[] = {
1024 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
1025 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
1026 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
1027 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_PIN_HOLDER), }, .arraySize = 0, },
1028 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32, .v = { .i32 = bizStage, }, .arraySize = 0, },
1029 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
1030 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_SUCC), }, .arraySize = 0, },
1031 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
1032 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdidTmp.c_str() }, .arraySize = 0, },
1033 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
1034 .v = { .s = (char *)SOFTBUSNAME }, .arraySize = 0, },
1035 };
1036 size_t len = sizeof(params) / sizeof(params[0]);
1037 return OH_HiSysEvent_Write(
1038 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
1039 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
1040 }
1041
ReportSendOrReceiveHolderMsg(int32_t bizStage,std::string funcName,std::string peerUdid)1042 void DmRadarHelper::ReportSendOrReceiveHolderMsg(int32_t bizStage, std::string funcName, std::string peerUdid)
1043 {
1044 int32_t res = DM_OK;
1045 if (bizStage == static_cast<int32_t>(PinHolderStage::RECEIVE_DESTROY_PIN_HOLDER_MSG)) {
1046 std::string peerUdidTmp = GetAnonyUdid(peerUdid);
1047 std::string localUdid = GetAnonyLocalUdid();
1048 HiSysEventParam params[] = {
1049 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
1050 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
1051 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
1052 .v = { .i32 = static_cast<int32_t>(AuthScene::DM_PIN_HOLDER), }, .arraySize = 0, },
1053 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32, .v = { .i32 = bizStage, }, .arraySize = 0, },
1054 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
1055 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_SUCC), }, .arraySize = 0, },
1056 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
1057 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
1058 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING,
1059 .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
1060 {.name = "PEER_UDID", .t = HISYSEVENT_STRING,
1061 .v = { .s = (char *)peerUdidTmp.c_str() }, .arraySize = 0, },
1062 {.name = "TO_CALL_PKG", .t = HISYSEVENT_STRING,
1063 .v = { .s = (char *)SOFTBUSNAME }, .arraySize = 0, },
1064 };
1065 size_t len = sizeof(params) / sizeof(params[0]);
1066 res = OH_HiSysEvent_Write(
1067 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
1068 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
1069 if (res != DM_OK) {
1070 LOGE("ReportSendOrReceiveHolderMsg error, res:%{public}d", res);
1071 return;
1072 }
1073 } else {
1074 res = ReportSendOrReceiveHolderMsgStageOther(bizStage, funcName, peerUdid);
1075 if (res != DM_OK) {
1076 LOGE("ReportSendOrReceiveHolderMsg error, res:%{public}d", res);
1077 return;
1078 }
1079 }
1080 return;
1081 }
1082
ReportGetTrustDeviceListResultFailed(std::string hostName,std::string funcName,std::vector<DmDeviceInfo> & deviceInfoList,int32_t errCode,std::string localUdid,std::string discoverDevList)1083 int32_t DmRadarHelper::ReportGetTrustDeviceListResultFailed(std::string hostName,
1084 std::string funcName, std::vector<DmDeviceInfo> &deviceInfoList,
1085 int32_t errCode, std::string localUdid, std::string discoverDevList)
1086 {
1087 HiSysEventParam params[] = {
1088 {.name = "ORG_PKG", .t = HISYSEVENT_STRING,
1089 .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
1090 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
1091 .v = { .s = (char *)hostName.c_str() }, .arraySize = 0, },
1092 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
1093 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
1094 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
1095 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_GET_TRUST_DEVICE_LIST), }, .arraySize = 0, },
1096 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
1097 .v = { .i32 = static_cast<int32_t>(GetTrustDeviceList::GET_TRUST_DEVICE_LIST), },
1098 .arraySize = 0, },
1099 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
1100 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_FAIL), }, .arraySize = 0, },
1101 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
1102 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
1103 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING,
1104 .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
1105 {.name = "DISCOVERY_DEVICE_LIST", .t = HISYSEVENT_STRING,
1106 .v = { .s = (char *)discoverDevList.c_str() }, .arraySize = 0, },
1107 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = GetErrCode(errCode), }, .arraySize = 0, },
1108 };
1109 size_t len = sizeof(params) / sizeof(params[0]);
1110 return OH_HiSysEvent_Write(
1111 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
1112 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
1113 }
1114
ReportGetTrustDeviceList(std::string hostName,std::string funcName,std::vector<DmDeviceInfo> & deviceInfoList,int32_t errCode,std::string localUdid)1115 void DmRadarHelper::ReportGetTrustDeviceList(std::string hostName,
1116 std::string funcName, std::vector<DmDeviceInfo> &deviceInfoList, int32_t errCode, std::string localUdid)
1117 {
1118 int32_t res = DM_OK;
1119 std::string discoverDevList = GetDeviceInfoList(deviceInfoList);
1120 if (errCode == DM_OK) {
1121 int32_t deviceCount = static_cast<int32_t>(deviceInfoList.size());
1122 static std::string TrustCallerName = "";
1123 if (deviceCount > 0 && TrustCallerName != hostName) {
1124 TrustCallerName = hostName;
1125 HiSysEventParam params[] = {
1126 {.name = "ORG_PKG", .t = HISYSEVENT_STRING,
1127 .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
1128 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
1129 .v = { .s = (char *)hostName.c_str() }, .arraySize = 0, },
1130 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
1131 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
1132 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
1133 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_GET_TRUST_DEVICE_LIST), }, .arraySize = 0, },
1134 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32,
1135 .v = { .i32 = static_cast<int32_t>(GetTrustDeviceList::GET_TRUST_DEVICE_LIST), },
1136 .arraySize = 0, },
1137 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
1138 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_SUCC), }, .arraySize = 0, },
1139 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
1140 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
1141 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING,
1142 .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
1143 {.name = "DISCOVERY_DEVICE_LIST", .t = HISYSEVENT_STRING,
1144 .v = { .s = (char *)discoverDevList.c_str() }, .arraySize = 0, },
1145 };
1146 size_t len = sizeof(params) / sizeof(params[0]);
1147 res = OH_HiSysEvent_Write(
1148 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
1149 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
1150 }
1151 } else {
1152 res = ReportGetTrustDeviceListResultFailed(hostName, funcName,
1153 deviceInfoList, errCode, localUdid, discoverDevList);
1154 }
1155 if (res != DM_OK) {
1156 LOGE("ReportGetTrustDeviceList error, res:%{public}d", res);
1157 return;
1158 }
1159 }
1160
ReportDmBehaviorResultSucc(std::string hostName,std::string funcName,int32_t errCode,std::string localUdid)1161 int32_t DmRadarHelper::ReportDmBehaviorResultSucc(std::string hostName, std::string funcName,
1162 int32_t errCode, std::string localUdid)
1163 {
1164 HiSysEventParam params[] = {
1165 {.name = "ORG_PKG", .t = HISYSEVENT_STRING,
1166 .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
1167 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
1168 .v = { .s = (char *)hostName.c_str() }, .arraySize = 0, },
1169 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
1170 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
1171 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
1172 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_BEHAVIOR), }, .arraySize = 0, },
1173 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32, .v = { .i32 = DEFAULT_STAGE, }, .arraySize = 0, },
1174 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
1175 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_SUCC), }, .arraySize = 0, },
1176 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
1177 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
1178 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING,
1179 .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
1180 };
1181 size_t len = sizeof(params) / sizeof(params[0]);
1182 return OH_HiSysEvent_Write(
1183 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
1184 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
1185 }
1186
ReportDmBehavior(std::string hostName,std::string funcName,int32_t errCode,std::string localUdid)1187 void DmRadarHelper::ReportDmBehavior(std::string hostName, std::string funcName, int32_t errCode,
1188 std::string localUdid)
1189 {
1190 int32_t res = DM_OK;
1191 if (errCode == DM_OK) {
1192 res = ReportDmBehaviorResultSucc(hostName, funcName, errCode, localUdid);
1193 } else {
1194 HiSysEventParam params[] = {
1195 {.name = "ORG_PKG", .t = HISYSEVENT_STRING,
1196 .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
1197 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
1198 .v = { .s = (char *)hostName.c_str() }, .arraySize = 0, },
1199 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
1200 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
1201 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
1202 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_BEHAVIOR), }, .arraySize = 0, },
1203 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32, .v = { .i32 = DEFAULT_STAGE, }, .arraySize = 0, },
1204 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
1205 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_FAIL), }, .arraySize = 0, },
1206 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
1207 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
1208 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING,
1209 .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
1210 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = GetErrCode(errCode), }, .arraySize = 0, },
1211 };
1212 size_t len = sizeof(params) / sizeof(params[0]);
1213 res = OH_HiSysEvent_Write(
1214 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
1215 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
1216 }
1217 if (res != DM_OK) {
1218 LOGE("ReportDmBehavior error, res:%{public}d", res);
1219 return;
1220 }
1221 }
1222
ReportGetLocalDevInfoResultSucc(std::string hostName,std::string funcName,DmDeviceInfo & info,int32_t errCode,std::string localUdid)1223 int32_t DmRadarHelper::ReportGetLocalDevInfoResultSucc(std::string hostName,
1224 std::string funcName, DmDeviceInfo &info, int32_t errCode, std::string localUdid)
1225 {
1226 std::string devType = ConvertHexToString(info.deviceTypeId);
1227 std::string localNetId = GetAnonyUdid(info.networkId);
1228 HiSysEventParam params[] = {
1229 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
1230 {.name = "HOST_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)hostName.c_str() }, .arraySize = 0, },
1231 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
1232 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
1233 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
1234 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_GET_LOCAL_DEVICE_INFO), }, .arraySize = 0, },
1235 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32, .v = { .i32 = DEFAULT_STAGE, }, .arraySize = 0, },
1236 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
1237 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_SUCC), }, .arraySize = 0, },
1238 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
1239 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
1240 {.name = "DEV_TYPE", .t = HISYSEVENT_STRING, .v = { .s = (char *)devType.c_str() }, .arraySize = 0, },
1241 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
1242 {.name = "LOCAL_NET_ID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localNetId.c_str() }, .arraySize = 0, },
1243 };
1244 size_t len = sizeof(params) / sizeof(params[0]);
1245 return OH_HiSysEvent_Write(
1246 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
1247 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
1248 }
1249
ReportGetLocalDevInfo(std::string hostName,std::string funcName,DmDeviceInfo & info,int32_t errCode,std::string localUdid)1250 void DmRadarHelper::ReportGetLocalDevInfo(std::string hostName,
1251 std::string funcName, DmDeviceInfo &info, int32_t errCode, std::string localUdid)
1252 {
1253 int32_t res = DM_OK;
1254 bool compare = false;
1255 {
1256 std::lock_guard<std::mutex> autoLock(lock_);
1257 if (localCallerName_ != hostName) {
1258 compare = true;
1259 localCallerName_ = hostName;
1260 }
1261 }
1262 if (compare) {
1263 if (errCode == DM_OK) {
1264 res = ReportGetLocalDevInfoResultSucc(hostName, funcName, info, errCode, localUdid);
1265 } else {
1266 std::string devType = ConvertHexToString(info.deviceTypeId);
1267 std::string localNetId = GetAnonyUdid(info.networkId);
1268 HiSysEventParam params[] = {
1269 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
1270 {.name = "HOST_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)hostName.c_str() }, .arraySize = 0, },
1271 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
1272 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
1273 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
1274 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_GET_LOCAL_DEVICE_INFO), }, .arraySize = 0, },
1275 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32, .v = { .i32 = DEFAULT_STAGE, }, .arraySize = 0, },
1276 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
1277 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_FAIL), }, .arraySize = 0, },
1278 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
1279 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
1280 {.name = "DEV_TYPE", .t = HISYSEVENT_STRING, .v = { .s = (char *)devType.c_str() }, .arraySize = 0, },
1281 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING,
1282 .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
1283 {.name = "LOCAL_NET_ID", .t = HISYSEVENT_STRING,
1284 .v = { .s = (char *)localNetId.c_str() }, .arraySize = 0, },
1285 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = GetErrCode(errCode), }, .arraySize = 0, },
1286 };
1287 size_t len = sizeof(params) / sizeof(params[0]);
1288 res = OH_HiSysEvent_Write(
1289 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
1290 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
1291 }
1292 }
1293 if (res != DM_OK) {
1294 LOGE("ReportGetLocalDevInfo error, res:%{public}d", res);
1295 return;
1296 }
1297 }
1298
ReportGetDeviceInfoResultSucc(std::string hostName,std::string funcName,DmDeviceInfo & info,int32_t errCode,std::string localUdid)1299 int32_t DmRadarHelper::ReportGetDeviceInfoResultSucc(std::string hostName,
1300 std::string funcName, DmDeviceInfo &info, int32_t errCode, std::string localUdid)
1301 {
1302 std::string devType = ConvertHexToString(info.deviceTypeId);
1303 std::string peerUdid = GetAnonyUdid(info.deviceId);
1304 std::string peerNetId = GetAnonyUdid(info.networkId);
1305 HiSysEventParam params[] = {
1306 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
1307 {.name = "HOST_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)hostName.c_str() }, .arraySize = 0, },
1308 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
1309 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
1310 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
1311 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_GET_DEVICE_INFO), }, .arraySize = 0, },
1312 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32, .v = { .i32 = DEFAULT_STAGE, }, .arraySize = 0, },
1313 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
1314 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_SUCC), }, .arraySize = 0, },
1315 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
1316 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
1317 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
1318 {.name = "DEV_TYPE", .t = HISYSEVENT_STRING, .v = { .s = (char *)devType.c_str() }, .arraySize = 0, },
1319 {.name = "PEER_UDID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerUdid.c_str() }, .arraySize = 0, },
1320 {.name = "PEER_NET_ID", .t = HISYSEVENT_STRING, .v = { .s = (char *)peerNetId.c_str() }, .arraySize = 0, },
1321 };
1322 size_t len = sizeof(params) / sizeof(params[0]);
1323 return OH_HiSysEvent_Write(
1324 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
1325 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
1326 }
1327
ReportGetDeviceInfo(std::string hostName,std::string funcName,DmDeviceInfo & info,int32_t errCode,std::string localUdid)1328 void DmRadarHelper::ReportGetDeviceInfo(std::string hostName,
1329 std::string funcName, DmDeviceInfo &info, int32_t errCode, std::string localUdid)
1330 {
1331 int32_t res = DM_OK;
1332 static std::string callerName = "";
1333 if (callerName != hostName) {
1334 callerName = hostName;
1335 if (errCode == DM_OK) {
1336 res = ReportGetDeviceInfoResultSucc(hostName, funcName, info, errCode, localUdid);
1337 } else {
1338 std::string devType = ConvertHexToString(info.deviceTypeId);
1339 std::string peerUdid = GetAnonyUdid(info.deviceId);
1340 std::string peerNetId = GetAnonyUdid(info.networkId);
1341 HiSysEventParam params[] = {
1342 {.name = "ORG_PKG", .t = HISYSEVENT_STRING, .v = { .s = (char *)ORGPKGNAME }, .arraySize = 0, },
1343 {.name = "HOST_PKG", .t = HISYSEVENT_STRING,
1344 .v = { .s = (char *)hostName.c_str() }, .arraySize = 0, },
1345 {.name = "FUNC", .t = HISYSEVENT_STRING, .v = { .s = (char *)funcName.c_str() }, .arraySize = 0, },
1346 {.name = "API_TYPE", .t = HISYSEVENT_INT32, .v = { .i32 = GetApiType(), }, .arraySize = 0, },
1347 {.name = "BIZ_SCENE", .t = HISYSEVENT_INT32,
1348 .v = { .i32 = static_cast<int32_t>(DiscoverScene::DM_GET_DEVICE_INFO), }, .arraySize = 0, },
1349 {.name = "BIZ_STAGE", .t = HISYSEVENT_INT32, .v = { .i32 = DEFAULT_STAGE, }, .arraySize = 0, },
1350 {.name = "STAGE_RES", .t = HISYSEVENT_INT32,
1351 .v = { .i32 = static_cast<int32_t>(StageRes::STAGE_FAIL), }, .arraySize = 0, },
1352 {.name = "BIZ_STATE", .t = HISYSEVENT_INT32,
1353 .v = { .i32 = static_cast<int32_t>(BizState::BIZ_STATE_END), }, .arraySize = 0, },
1354 {.name = "LOCAL_UDID", .t = HISYSEVENT_STRING,
1355 .v = { .s = (char *)localUdid.c_str() }, .arraySize = 0, },
1356 {.name = "DEV_TYPE", .t = HISYSEVENT_STRING,
1357 .v = { .s = (char *)devType.c_str() }, .arraySize = 0, },
1358 {.name = "PEER_UDID", .t = HISYSEVENT_STRING,
1359 .v = { .s = (char *)peerUdid.c_str() }, .arraySize = 0, },
1360 {.name = "PEER_NET_ID", .t = HISYSEVENT_STRING,
1361 .v = { .s = (char *)peerNetId.c_str() }, .arraySize = 0, },
1362 {.name = "ERROR_CODE", .t = HISYSEVENT_INT32, .v = { .i32 = GetErrCode(errCode), }, .arraySize = 0, },
1363 };
1364 size_t len = sizeof(params) / sizeof(params[0]);
1365 res = OH_HiSysEvent_Write(
1366 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
1367 DM_AUTHCATION_BEHAVIOR, HISYSEVENT_BEHAVIOR, params, len);
1368 }
1369 }
1370 if (res != DM_OK) {
1371 LOGE("ReportGetDeviceInfo error, res:%{public}d", res);
1372 return;
1373 }
1374 }
1375
ConvertHexToString(uint16_t hex)1376 std::string DmRadarHelper::ConvertHexToString(uint16_t hex)
1377 {
1378 std::stringstream str;
1379 int32_t with = 3;
1380 str << std::hex << std::setw(with) << std::setfill('0') << hex;
1381 std::string hexStr = str.str();
1382 transform(hexStr.begin(), hexStr.end(), hexStr.begin(), ::toupper);
1383 return hexStr;
1384 }
1385
GetDeviceInfoList(std::vector<DmDeviceInfo> & deviceInfoList)1386 std::string DmRadarHelper::GetDeviceInfoList(std::vector<DmDeviceInfo> &deviceInfoList)
1387 {
1388 cJSON *deviceInfoJson = cJSON_CreateArray();
1389 if (deviceInfoJson == nullptr) {
1390 LOGE("deviceInfoJson is nullptr.");
1391 return "";
1392 }
1393 for (size_t i = 0; i < deviceInfoList.size(); i++) {
1394 cJSON *object = cJSON_CreateObject();
1395 if (object == nullptr) {
1396 LOGE("object is nullptr.");
1397 cJSON_Delete(deviceInfoJson);
1398 return "";
1399 }
1400 std::string devType = ConvertHexToString(deviceInfoList[i].deviceTypeId);
1401 cJSON_AddStringToObject(object, "PEER_DEV_TYPE", devType.c_str());
1402 cJSON_AddItemToArray(deviceInfoJson, object);
1403 }
1404 char *deviceInfoStr = cJSON_PrintUnformatted(deviceInfoJson);
1405 if (deviceInfoStr == nullptr) {
1406 LOGE("deviceInfoStr is nullptr.");
1407 cJSON_Delete(deviceInfoJson);
1408 return "";
1409 }
1410 std::string devInfoStr = std::string(deviceInfoStr);
1411 cJSON_Delete(deviceInfoJson);
1412 cJSON_free(deviceInfoStr);
1413 return devInfoStr;
1414 }
1415
GetAnonyUdid(std::string udid)1416 std::string DmRadarHelper::GetAnonyUdid(std::string udid)
1417 {
1418 if (udid.empty() || udid.length() < INVALID_UDID_LENGTH) {
1419 return "unknown";
1420 }
1421 return udid.substr(0, SUBSTR_UDID_LENGTH) + "**" + udid.substr(udid.length() - SUBSTR_UDID_LENGTH);
1422 }
1423
GetAnonyLocalUdid()1424 std::string DmRadarHelper::GetAnonyLocalUdid()
1425 {
1426 char localDeviceId[DEVICE_UUID_LENGTH] = {0};
1427 GetDevUdid(localDeviceId, DEVICE_UUID_LENGTH);
1428 return GetAnonyUdid(std::string(localDeviceId));
1429 }
1430
GetErrCode(int32_t errCode)1431 int32_t DmRadarHelper::GetErrCode(int32_t errCode)
1432 {
1433 auto flag = MAP_ERROR_CODE.find(errCode);
1434 if (flag == MAP_ERROR_CODE.end()) {
1435 return errCode;
1436 }
1437 return flag->second;
1438 }
1439
GetApiType()1440 int32_t DmRadarHelper::GetApiType()
1441 {
1442 AccessTokenID tokenCaller = IPCSkeleton::GetCallingTokenID();
1443 if (tokenCaller == 0) {
1444 LOGE("GetApiType GetCallingTokenID error.");
1445 return static_cast<int32_t>(ApiType::API_UNKNOW);
1446 }
1447 ATokenTypeEnum tokenTypeFlag = AccessTokenKit::GetTokenTypeFlag(tokenCaller);
1448 if (tokenTypeFlag == ATokenTypeEnum::TOKEN_HAP) {
1449 return static_cast<int32_t>(ApiType::API_JS);
1450 } else if (tokenTypeFlag == ATokenTypeEnum::TOKEN_NATIVE) {
1451 return static_cast<int32_t>(ApiType::API_NATIVE);
1452 }
1453 return static_cast<int32_t>(ApiType::API_UNKNOW);
1454 }
1455
CreateDmRadarInstance()1456 IDmRadarHelper *CreateDmRadarInstance()
1457 {
1458 return &DmRadarHelper::GetInstance();
1459 }
1460 } // namespace DistributedHardware
1461 } // namespace OHOS