1f8af9c48Sopenharmony_ci/*
2f8af9c48Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
3f8af9c48Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4f8af9c48Sopenharmony_ci * you may not use this file except in compliance with the License.
5f8af9c48Sopenharmony_ci * You may obtain a copy of the License at
6f8af9c48Sopenharmony_ci *
7f8af9c48Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8f8af9c48Sopenharmony_ci *
9f8af9c48Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10f8af9c48Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11f8af9c48Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12f8af9c48Sopenharmony_ci * See the License for the specific language governing permissions and
13f8af9c48Sopenharmony_ci * limitations under the License.
14f8af9c48Sopenharmony_ci */
15f8af9c48Sopenharmony_ci
16f8af9c48Sopenharmony_ci#include "dp_radar_helper.h"
17f8af9c48Sopenharmony_ci
18f8af9c48Sopenharmony_ci#include <cJSON.h>
19f8af9c48Sopenharmony_ci#include <errors.h>
20f8af9c48Sopenharmony_ci#include "hisysevent.h"
21f8af9c48Sopenharmony_ci#include "content_sensor_manager_utils.h"
22f8af9c48Sopenharmony_ci#include "distributed_device_profile_errors.h"
23f8af9c48Sopenharmony_ci#include "distributed_device_profile_log.h"
24f8af9c48Sopenharmony_ci#include "profile_utils.h"
25f8af9c48Sopenharmony_ci
26f8af9c48Sopenharmony_cinamespace OHOS {
27f8af9c48Sopenharmony_cinamespace DistributedDeviceProfile {
28f8af9c48Sopenharmony_ciIMPLEMENT_SINGLE_INSTANCE(DpRadarHelper);
29f8af9c48Sopenharmony_cinamespace {
30f8af9c48Sopenharmony_ciconst std::string TAG = "DpRadarHelper";
31f8af9c48Sopenharmony_ci}
32f8af9c48Sopenharmony_civoid DpRadarHelper::ReportCheckDpSa(int32_t stageRes)
33f8af9c48Sopenharmony_ci{
34f8af9c48Sopenharmony_ci    int32_t res = ERR_OK;
35f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
36f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
37f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
38f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
39f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
40f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
41f8af9c48Sopenharmony_ci            "FUNC", "GetDeviceProfileService",
42f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
43f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_CHECK_SA),
44f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
45f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
46f8af9c48Sopenharmony_ci            "TO_CALL_PKG", SA_MAGR_NAME);
47f8af9c48Sopenharmony_ci    } else {
48f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
49f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
50f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
51f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
52f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
53f8af9c48Sopenharmony_ci            "FUNC", "GetDeviceProfileService",
54f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
55f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_CHECK_SA),
56f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
57f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
58f8af9c48Sopenharmony_ci            "TO_CALL_PKG", SA_MAGR_NAME,
59f8af9c48Sopenharmony_ci            "ERROR_CODE", DP_LOAD_SERVICE_ERR);
60f8af9c48Sopenharmony_ci    }
61f8af9c48Sopenharmony_ci    if (res != ERR_OK) {
62f8af9c48Sopenharmony_ci        HILOGD("failed");
63f8af9c48Sopenharmony_ci    }
64f8af9c48Sopenharmony_ci    return;
65f8af9c48Sopenharmony_ci}
66f8af9c48Sopenharmony_ci
67f8af9c48Sopenharmony_civoid DpRadarHelper::ReportLoadDpSa(int32_t stageRes)
68f8af9c48Sopenharmony_ci{
69f8af9c48Sopenharmony_ci    int32_t res = ERR_OK;
70f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_IDLE)) {
71f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
72f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
73f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
74f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
75f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
76f8af9c48Sopenharmony_ci            "FUNC", "LoadDeviceProfileService",
77f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
78f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_LOAD_SA),
79f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
80f8af9c48Sopenharmony_ci            "TO_CALL_PKG", SA_MAGR_NAME);
81f8af9c48Sopenharmony_ci    } else {
82f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
83f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
84f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
85f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
86f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
87f8af9c48Sopenharmony_ci            "FUNC", "LoadDeviceProfileService",
88f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
89f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_LOAD_SA),
90f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
91f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
92f8af9c48Sopenharmony_ci            "TO_CALL_PKG", SA_MAGR_NAME,
93f8af9c48Sopenharmony_ci            "ERROR_CODE", DP_LOAD_SERVICE_ERR);
94f8af9c48Sopenharmony_ci    }
95f8af9c48Sopenharmony_ci    if (res != ERR_OK) {
96f8af9c48Sopenharmony_ci        HILOGD("failed");
97f8af9c48Sopenharmony_ci    }
98f8af9c48Sopenharmony_ci    return;
99f8af9c48Sopenharmony_ci}
100f8af9c48Sopenharmony_ci
101f8af9c48Sopenharmony_civoid DpRadarHelper::ReportLoadDpSaCb(int32_t stageRes)
102f8af9c48Sopenharmony_ci{
103f8af9c48Sopenharmony_ci    int32_t res = ERR_OK;
104f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
105f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
106f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
107f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
108f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
109f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
110f8af9c48Sopenharmony_ci            "FUNC", "LoadSystemAbilitySuccess",
111f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
112f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_LOAD_SA),
113f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
114f8af9c48Sopenharmony_ci            "HOST_NAME", SA_MAGR_NAME);
115f8af9c48Sopenharmony_ci    } else {
116f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
117f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
118f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
119f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
120f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
121f8af9c48Sopenharmony_ci            "FUNC", "LoadSystemAbilityFail",
122f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
123f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_LOAD_SA),
124f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
125f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
126f8af9c48Sopenharmony_ci            "HOST_NAME", SA_MAGR_NAME,
127f8af9c48Sopenharmony_ci            "ERROR_CODE", DP_LOAD_SERVICE_ERR);
128f8af9c48Sopenharmony_ci    }
129f8af9c48Sopenharmony_ci    if (res != ERR_OK) {
130f8af9c48Sopenharmony_ci        HILOGD("failed");
131f8af9c48Sopenharmony_ci    }
132f8af9c48Sopenharmony_ci    return;
133f8af9c48Sopenharmony_ci}
134f8af9c48Sopenharmony_ci
135f8af9c48Sopenharmony_civoid DpRadarHelper::ReportSaCheckAuth(int32_t stageRes)
136f8af9c48Sopenharmony_ci{
137f8af9c48Sopenharmony_ci    int res = ERR_OK;
138f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
139f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
140f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
141f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
142f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
143f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
144f8af9c48Sopenharmony_ci            "FUNC", "IsCallerTrust",
145f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
146f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_SA_CHACK_AUTH),
147f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
148f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END));
149f8af9c48Sopenharmony_ci    } else {
150f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
151f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
152f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
153f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
154f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
155f8af9c48Sopenharmony_ci            "FUNC", "IsCallerTrust",
156f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
157f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_SA_CHACK_AUTH),
158f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
159f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
160f8af9c48Sopenharmony_ci            "ERROR_CODE", ERR_PERMISSION_DENIED);
161f8af9c48Sopenharmony_ci    }
162f8af9c48Sopenharmony_ci    if (res != ERR_OK) {
163f8af9c48Sopenharmony_ci        HILOGD("failed");
164f8af9c48Sopenharmony_ci    }
165f8af9c48Sopenharmony_ci    return;
166f8af9c48Sopenharmony_ci}
167f8af9c48Sopenharmony_ci
168f8af9c48Sopenharmony_civoid DpRadarHelper::ReportPutAclProfile(int32_t errCode, const AccessControlProfile& accessControlProfile)
169f8af9c48Sopenharmony_ci{
170f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
171f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
172f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
173f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
174f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
175f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
176f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
177f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
178f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
179f8af9c48Sopenharmony_ci            "FUNC", "PutAccessControlProfile",
180f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_ACL_PROFILE),
181f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
182f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
183f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
184f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
185f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(accessControlProfile.GetAccessee().GetAccesseeDeviceId()),
186f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
187f8af9c48Sopenharmony_ci            "EXTRA_INFO", accessControlProfile.dump());
188f8af9c48Sopenharmony_ci    } else {
189f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
190f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
191f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
192f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
193f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
194f8af9c48Sopenharmony_ci            "FUNC", "PutAccessControlProfile",
195f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_ACL_PROFILE),
196f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
197f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
198f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
199f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
200f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(accessControlProfile.GetAccessee().GetAccesseeDeviceId()),
201f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
202f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
203f8af9c48Sopenharmony_ci            "EXTRA_INFO", accessControlProfile.dump());
204f8af9c48Sopenharmony_ci    }
205f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
206f8af9c48Sopenharmony_ci        HILOGD("failed");
207f8af9c48Sopenharmony_ci    }
208f8af9c48Sopenharmony_ci    return;
209f8af9c48Sopenharmony_ci}
210f8af9c48Sopenharmony_ci
211f8af9c48Sopenharmony_civoid DpRadarHelper::ReportUpdateAclProfile(int32_t errCode, const AccessControlProfile& accessControlProfile)
212f8af9c48Sopenharmony_ci{
213f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
214f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
215f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
216f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
217f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
218f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
219f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
220f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
221f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
222f8af9c48Sopenharmony_ci            "FUNC", "UpdateAccessControlProfile",
223f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_UPDATE_ACL_PROFILE),
224f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
225f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
226f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
227f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
228f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(accessControlProfile.GetAccessee().GetAccesseeDeviceId()),
229f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
230f8af9c48Sopenharmony_ci            "EXTRA_INFO", accessControlProfile.dump());
231f8af9c48Sopenharmony_ci    } else {
232f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
233f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
234f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
235f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
236f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
237f8af9c48Sopenharmony_ci            "FUNC", "UpdateAccessControlProfile",
238f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_UPDATE_ACL_PROFILE),
239f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
240f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
241f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
242f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
243f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(accessControlProfile.GetAccessee().GetAccesseeDeviceId()),
244f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
245f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
246f8af9c48Sopenharmony_ci            "EXTRA_INFO", accessControlProfile.dump());
247f8af9c48Sopenharmony_ci    }
248f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
249f8af9c48Sopenharmony_ci        HILOGD("failed");
250f8af9c48Sopenharmony_ci    }
251f8af9c48Sopenharmony_ci    return;
252f8af9c48Sopenharmony_ci}
253f8af9c48Sopenharmony_ci
254f8af9c48Sopenharmony_civoid DpRadarHelper::ReportGetTrustProfile(int32_t errCode, const std::string& deviceId,
255f8af9c48Sopenharmony_ci    const TrustDeviceProfile& trustDeviceProfile)
256f8af9c48Sopenharmony_ci{
257f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
258f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
259f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
260f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
261f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
262f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
263f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
264f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
265f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
266f8af9c48Sopenharmony_ci            "FUNC", "GetTrustDeviceProfile",
267f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_TRUST_PROFILE),
268f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
269f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
270f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
271f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
272f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(deviceId),
273f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
274f8af9c48Sopenharmony_ci            "EXTRA_INFO", trustDeviceProfile.dump());
275f8af9c48Sopenharmony_ci    } else {
276f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
277f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
278f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
279f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
280f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
281f8af9c48Sopenharmony_ci            "FUNC", "GetTrustDeviceProfile",
282f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_TRUST_PROFILE),
283f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
284f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
285f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
286f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
287f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(deviceId),
288f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
289f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
290f8af9c48Sopenharmony_ci            "EXTRA_INFO", trustDeviceProfile.dump());
291f8af9c48Sopenharmony_ci    }
292f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
293f8af9c48Sopenharmony_ci        HILOGD("failed");
294f8af9c48Sopenharmony_ci    }
295f8af9c48Sopenharmony_ci    return;
296f8af9c48Sopenharmony_ci}
297f8af9c48Sopenharmony_ci
298f8af9c48Sopenharmony_civoid DpRadarHelper::ReportGetAllTrustProfile(int32_t errCode, std::vector<TrustDeviceProfile>& trustDeviceProfiles)
299f8af9c48Sopenharmony_ci{
300f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
301f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
302f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
303f8af9c48Sopenharmony_ci    std::string extraInfo = "";
304f8af9c48Sopenharmony_ci    size_t size = trustDeviceProfiles.size() > 0 ? (trustDeviceProfiles.size() - 1) : 0;
305f8af9c48Sopenharmony_ci    for (size_t i = 0; i < trustDeviceProfiles.size(); i++) {
306f8af9c48Sopenharmony_ci        extraInfo += trustDeviceProfiles[i].dump();
307f8af9c48Sopenharmony_ci        if (i != size) {
308f8af9c48Sopenharmony_ci            extraInfo += ",";
309f8af9c48Sopenharmony_ci        }
310f8af9c48Sopenharmony_ci    }
311f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
312f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
313f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
314f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
315f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
316f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
317f8af9c48Sopenharmony_ci            "FUNC", "GetAllTrustDeviceProfile",
318f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_ALL_TRUST_PROFILE),
319f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
320f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
321f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
322f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
323f8af9c48Sopenharmony_ci            "PEER_UDID_LIST", GetPeerUdidList(trustDeviceProfiles),
324f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
325f8af9c48Sopenharmony_ci            "EXTRA_INFO", extraInfo);
326f8af9c48Sopenharmony_ci    } else {
327f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
328f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
329f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
330f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
331f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
332f8af9c48Sopenharmony_ci            "FUNC", "GetAllTrustDeviceProfile",
333f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_ALL_TRUST_PROFILE),
334f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
335f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
336f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
337f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
338f8af9c48Sopenharmony_ci            "PEER_UDID_LIST", GetPeerUdidList(trustDeviceProfiles),
339f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
340f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
341f8af9c48Sopenharmony_ci            "EXTRA_INFO", extraInfo);
342f8af9c48Sopenharmony_ci    }
343f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
344f8af9c48Sopenharmony_ci        HILOGD("failed");
345f8af9c48Sopenharmony_ci    }
346f8af9c48Sopenharmony_ci    return;
347f8af9c48Sopenharmony_ci}
348f8af9c48Sopenharmony_ci
349f8af9c48Sopenharmony_civoid DpRadarHelper::ReportGetAclProfile(int32_t errCode, std::vector<AccessControlProfile>& accessControlProfiles)
350f8af9c48Sopenharmony_ci{
351f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
352f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
353f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
354f8af9c48Sopenharmony_ci    std::string extraInfo = "";
355f8af9c48Sopenharmony_ci    size_t size = accessControlProfiles.size() > 0 ? (accessControlProfiles.size() - 1) : 0;
356f8af9c48Sopenharmony_ci    for (size_t i = 0; i < accessControlProfiles.size(); i++) {
357f8af9c48Sopenharmony_ci        extraInfo += accessControlProfiles[i].dump();
358f8af9c48Sopenharmony_ci        if (i != size) {
359f8af9c48Sopenharmony_ci            extraInfo += ",";
360f8af9c48Sopenharmony_ci        }
361f8af9c48Sopenharmony_ci    }
362f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
363f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
364f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
365f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
366f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
367f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
368f8af9c48Sopenharmony_ci            "FUNC", "GetAccessControlProfile",
369f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_ACL_PROFILE),
370f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
371f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
372f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
373f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
374f8af9c48Sopenharmony_ci            "PEER_UDID_LIST", GetPeerUdidList(accessControlProfiles),
375f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
376f8af9c48Sopenharmony_ci            "EXTRA_INFO", extraInfo);
377f8af9c48Sopenharmony_ci    } else {
378f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
379f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
380f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
381f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
382f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
383f8af9c48Sopenharmony_ci            "FUNC", "GetAccessControlProfile",
384f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_ACL_PROFILE),
385f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
386f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
387f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
388f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
389f8af9c48Sopenharmony_ci            "PEER_UDID_LIST", GetPeerUdidList(accessControlProfiles),
390f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
391f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
392f8af9c48Sopenharmony_ci            "EXTRA_INFO", extraInfo);
393f8af9c48Sopenharmony_ci    }
394f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
395f8af9c48Sopenharmony_ci        HILOGD("failed");
396f8af9c48Sopenharmony_ci    }
397f8af9c48Sopenharmony_ci    return;
398f8af9c48Sopenharmony_ci}
399f8af9c48Sopenharmony_ci
400f8af9c48Sopenharmony_civoid DpRadarHelper::ReportGetAllAclProfile(int32_t errCode, std::vector<AccessControlProfile>& accessControlProfiles)
401f8af9c48Sopenharmony_ci{
402f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
403f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
404f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
405f8af9c48Sopenharmony_ci    std::string extraInfo = "";
406f8af9c48Sopenharmony_ci    size_t size = accessControlProfiles.size() > 0 ? (accessControlProfiles.size() - 1) : 0;
407f8af9c48Sopenharmony_ci    for (size_t i = 0; i < accessControlProfiles.size(); i++) {
408f8af9c48Sopenharmony_ci        extraInfo += accessControlProfiles[i].dump();
409f8af9c48Sopenharmony_ci        if (i != size) {
410f8af9c48Sopenharmony_ci            extraInfo += ",";
411f8af9c48Sopenharmony_ci        }
412f8af9c48Sopenharmony_ci    }
413f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
414f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
415f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
416f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
417f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
418f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
419f8af9c48Sopenharmony_ci            "FUNC", "GetAllAccessControlProfile",
420f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_ALL_ACL_PROFILE),
421f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
422f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
423f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
424f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
425f8af9c48Sopenharmony_ci            "PEER_UDID_LIST", GetPeerUdidList(accessControlProfiles),
426f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
427f8af9c48Sopenharmony_ci            "EXTRA_INFO", extraInfo);
428f8af9c48Sopenharmony_ci    } else {
429f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
430f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
431f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
432f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
433f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
434f8af9c48Sopenharmony_ci            "FUNC", "GetAllAccessControlProfile",
435f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_ALL_ACL_PROFILE),
436f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
437f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
438f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
439f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
440f8af9c48Sopenharmony_ci            "PEER_UDID_LIST", GetPeerUdidList(accessControlProfiles),
441f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
442f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
443f8af9c48Sopenharmony_ci            "EXTRA_INFO", extraInfo);
444f8af9c48Sopenharmony_ci    }
445f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
446f8af9c48Sopenharmony_ci        HILOGD("failed");
447f8af9c48Sopenharmony_ci    }
448f8af9c48Sopenharmony_ci    return;
449f8af9c48Sopenharmony_ci}
450f8af9c48Sopenharmony_ci
451f8af9c48Sopenharmony_civoid DpRadarHelper::ReportDeleteAclProfile(int32_t errCode)
452f8af9c48Sopenharmony_ci{
453f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
454f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
455f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
456f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
457f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
458f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
459f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
460f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
461f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
462f8af9c48Sopenharmony_ci            "FUNC", "DeleteAccessControlProfile",
463f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_DELETE_ACL_PROFILE),
464f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
465f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
466f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
467f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
468f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME);
469f8af9c48Sopenharmony_ci    } else {
470f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
471f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
472f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
473f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
474f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
475f8af9c48Sopenharmony_ci            "FUNC", "DeleteAccessControlProfile",
476f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_DELETE_ACL_PROFILE),
477f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
478f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
479f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
480f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
481f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
482f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode);
483f8af9c48Sopenharmony_ci    }
484f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
485f8af9c48Sopenharmony_ci        HILOGD("failed");
486f8af9c48Sopenharmony_ci    }
487f8af9c48Sopenharmony_ci    return;
488f8af9c48Sopenharmony_ci}
489f8af9c48Sopenharmony_ci
490f8af9c48Sopenharmony_civoid DpRadarHelper::ReportPutServiceProfile(int32_t errCode, const ServiceProfile& serviceProfile)
491f8af9c48Sopenharmony_ci{
492f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
493f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
494f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
495f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
496f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
497f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
498f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
499f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
500f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
501f8af9c48Sopenharmony_ci            "FUNC", "PutServiceProfile",
502f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_SERVICE_PROFILE),
503f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
504f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_IDLE),
505f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
506f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
507f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(serviceProfile.GetDeviceId()),
508f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
509f8af9c48Sopenharmony_ci            "EXTRA_INFO", serviceProfile.dump());
510f8af9c48Sopenharmony_ci    } else {
511f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
512f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
513f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
514f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
515f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
516f8af9c48Sopenharmony_ci            "FUNC", "PutServiceProfile",
517f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_SERVICE_PROFILE),
518f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
519f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
520f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
521f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
522f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(serviceProfile.GetDeviceId()),
523f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
524f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
525f8af9c48Sopenharmony_ci            "EXTRA_INFO", serviceProfile.dump());
526f8af9c48Sopenharmony_ci    }
527f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
528f8af9c48Sopenharmony_ci        HILOGD("failed");
529f8af9c48Sopenharmony_ci    }
530f8af9c48Sopenharmony_ci    return;
531f8af9c48Sopenharmony_ci}
532f8af9c48Sopenharmony_ci
533f8af9c48Sopenharmony_civoid DpRadarHelper::ReportPutServiceProfileBatch(int32_t errCode, const std::vector<ServiceProfile>& serviceProfiles)
534f8af9c48Sopenharmony_ci{
535f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
536f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
537f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
538f8af9c48Sopenharmony_ci    std::string extraInfo = "";
539f8af9c48Sopenharmony_ci    size_t size = serviceProfiles.size() > 0 ? (serviceProfiles.size() - 1) : 0;
540f8af9c48Sopenharmony_ci    for (size_t i = 0; i < serviceProfiles.size(); i++) {
541f8af9c48Sopenharmony_ci        extraInfo += serviceProfiles[i].dump();
542f8af9c48Sopenharmony_ci        if (i != size) {
543f8af9c48Sopenharmony_ci            extraInfo += ",";
544f8af9c48Sopenharmony_ci        }
545f8af9c48Sopenharmony_ci    }
546f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
547f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
548f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
549f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
550f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
551f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
552f8af9c48Sopenharmony_ci            "FUNC", "PutServiceProfileBatch",
553f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_SERVICE_PROFILE),
554f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
555f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_IDLE),
556f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
557f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
558f8af9c48Sopenharmony_ci            "PEER_UDID_LIST", GetPeerUdidList(serviceProfiles),
559f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
560f8af9c48Sopenharmony_ci            "EXTRA_INFO", extraInfo);
561f8af9c48Sopenharmony_ci    } else {
562f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
563f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
564f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
565f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
566f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
567f8af9c48Sopenharmony_ci            "FUNC", "PutServiceProfileBatch",
568f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_SERVICE_PROFILE),
569f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
570f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
571f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
572f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
573f8af9c48Sopenharmony_ci            "PEER_UDID_LIST", GetPeerUdidList(serviceProfiles),
574f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
575f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
576f8af9c48Sopenharmony_ci            "EXTRA_INFO", extraInfo);
577f8af9c48Sopenharmony_ci    }
578f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
579f8af9c48Sopenharmony_ci        HILOGD("failed");
580f8af9c48Sopenharmony_ci    }
581f8af9c48Sopenharmony_ci    return;
582f8af9c48Sopenharmony_ci}
583f8af9c48Sopenharmony_ci
584f8af9c48Sopenharmony_civoid DpRadarHelper::ReportPutCharProfile(int32_t errCode, const CharacteristicProfile& characteristicProfile)
585f8af9c48Sopenharmony_ci{
586f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
587f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
588f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
589f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
590f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
591f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
592f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
593f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
594f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
595f8af9c48Sopenharmony_ci            "FUNC", "PutCharacteristicProfile",
596f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_CHAR_PROFILE),
597f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
598f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_IDLE),
599f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
600f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
601f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(characteristicProfile.GetDeviceId()),
602f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
603f8af9c48Sopenharmony_ci            "EXTRA_INFO", characteristicProfile.dump());
604f8af9c48Sopenharmony_ci    } else {
605f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
606f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
607f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
608f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
609f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
610f8af9c48Sopenharmony_ci            "FUNC", "PutCharacteristicProfile",
611f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_CHAR_PROFILE),
612f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
613f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
614f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
615f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
616f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(characteristicProfile.GetDeviceId()),
617f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
618f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
619f8af9c48Sopenharmony_ci            "EXTRA_INFO", characteristicProfile.dump());
620f8af9c48Sopenharmony_ci    }
621f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
622f8af9c48Sopenharmony_ci        HILOGD("failed");
623f8af9c48Sopenharmony_ci    }
624f8af9c48Sopenharmony_ci    return;
625f8af9c48Sopenharmony_ci}
626f8af9c48Sopenharmony_ci
627f8af9c48Sopenharmony_civoid DpRadarHelper::ReportPutCharProfileBatch(int32_t errCode,
628f8af9c48Sopenharmony_ci    const std::vector<CharacteristicProfile>& characteristicProfiles)
629f8af9c48Sopenharmony_ci{
630f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
631f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
632f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
633f8af9c48Sopenharmony_ci    std::string extraInfo = "";
634f8af9c48Sopenharmony_ci    size_t size = characteristicProfiles.size() > 0 ? (characteristicProfiles.size() - 1) : 0;
635f8af9c48Sopenharmony_ci    for (size_t i = 0; i < characteristicProfiles.size(); i++) {
636f8af9c48Sopenharmony_ci        extraInfo += characteristicProfiles[i].dump();
637f8af9c48Sopenharmony_ci        if (i != size) {
638f8af9c48Sopenharmony_ci            extraInfo += ",";
639f8af9c48Sopenharmony_ci        }
640f8af9c48Sopenharmony_ci    }
641f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
642f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
643f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
644f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
645f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
646f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
647f8af9c48Sopenharmony_ci            "FUNC", "PutCharacteristicProfileBatch",
648f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_CHAR_PROFILE),
649f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
650f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_IDLE),
651f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
652f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
653f8af9c48Sopenharmony_ci            "PEER_UDID_LIST", GetPeerUdidList(characteristicProfiles),
654f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
655f8af9c48Sopenharmony_ci            "EXTRA_INFO", extraInfo);
656f8af9c48Sopenharmony_ci    } else {
657f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
658f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
659f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
660f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
661f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
662f8af9c48Sopenharmony_ci            "FUNC", "PutCharacteristicProfileBatch",
663f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_CHAR_PROFILE),
664f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
665f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
666f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
667f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
668f8af9c48Sopenharmony_ci            "PEER_UDID_LIST", GetPeerUdidList(characteristicProfiles),
669f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
670f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
671f8af9c48Sopenharmony_ci            "EXTRA_INFO", extraInfo);
672f8af9c48Sopenharmony_ci    }
673f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
674f8af9c48Sopenharmony_ci        HILOGD("failed");
675f8af9c48Sopenharmony_ci    }
676f8af9c48Sopenharmony_ci    return;
677f8af9c48Sopenharmony_ci}
678f8af9c48Sopenharmony_ci
679f8af9c48Sopenharmony_civoid DpRadarHelper::ReportGetDeviceProfile(int32_t errCode, const std::string& deviceId, DeviceProfile& deviceProfile)
680f8af9c48Sopenharmony_ci{
681f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
682f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
683f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
684f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
685f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
686f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
687f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
688f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
689f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
690f8af9c48Sopenharmony_ci            "FUNC", "GetDeviceProfile",
691f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_DEVICE_PROFILE),
692f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
693f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
694f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
695f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
696f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(deviceId),
697f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
698f8af9c48Sopenharmony_ci            "EXTRA_INFO", deviceProfile.dump());
699f8af9c48Sopenharmony_ci    } else {
700f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
701f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
702f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
703f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
704f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
705f8af9c48Sopenharmony_ci            "FUNC", "GetDeviceProfile",
706f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_DEVICE_PROFILE),
707f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
708f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
709f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
710f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
711f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(deviceId),
712f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
713f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
714f8af9c48Sopenharmony_ci            "EXTRA_INFO", deviceProfile.dump());
715f8af9c48Sopenharmony_ci    }
716f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
717f8af9c48Sopenharmony_ci        HILOGD("failed");
718f8af9c48Sopenharmony_ci    }
719f8af9c48Sopenharmony_ci    return;
720f8af9c48Sopenharmony_ci}
721f8af9c48Sopenharmony_ci
722f8af9c48Sopenharmony_civoid DpRadarHelper::ReportGetServiceProfile(int32_t errCode,
723f8af9c48Sopenharmony_ci    const std::string& deviceId, ServiceProfile& serviceProfile)
724f8af9c48Sopenharmony_ci{
725f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
726f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
727f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
728f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
729f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
730f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
731f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
732f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
733f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
734f8af9c48Sopenharmony_ci            "FUNC", "GetServiceProfile",
735f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SERVICE_PROFILE),
736f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
737f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
738f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
739f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
740f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(deviceId),
741f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
742f8af9c48Sopenharmony_ci            "EXTRA_INFO", serviceProfile.dump());
743f8af9c48Sopenharmony_ci    } else {
744f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
745f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
746f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
747f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
748f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
749f8af9c48Sopenharmony_ci            "FUNC", "GetServiceProfile",
750f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SERVICE_PROFILE),
751f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
752f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
753f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
754f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
755f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(deviceId),
756f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
757f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
758f8af9c48Sopenharmony_ci            "EXTRA_INFO", serviceProfile.dump());
759f8af9c48Sopenharmony_ci    }
760f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
761f8af9c48Sopenharmony_ci        HILOGD("failed");
762f8af9c48Sopenharmony_ci    }
763f8af9c48Sopenharmony_ci    return;
764f8af9c48Sopenharmony_ci}
765f8af9c48Sopenharmony_ci
766f8af9c48Sopenharmony_civoid DpRadarHelper::ReportGetCharProfile(int32_t errCode,
767f8af9c48Sopenharmony_ci    const std::string& deviceId, CharacteristicProfile& characteristicProfile)
768f8af9c48Sopenharmony_ci{
769f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
770f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
771f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
772f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
773f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
774f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
775f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
776f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
777f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
778f8af9c48Sopenharmony_ci            "FUNC", "GetCharacteristicProfile",
779f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_CHAR_PROFILE),
780f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
781f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
782f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
783f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
784f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(deviceId),
785f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
786f8af9c48Sopenharmony_ci            "EXTRA_INFO", characteristicProfile.dump());
787f8af9c48Sopenharmony_ci    } else {
788f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
789f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
790f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
791f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
792f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
793f8af9c48Sopenharmony_ci            "FUNC", "GetCharacteristicProfile",
794f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_CHAR_PROFILE),
795f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
796f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
797f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
798f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
799f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(deviceId),
800f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
801f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
802f8af9c48Sopenharmony_ci            "EXTRA_INFO", characteristicProfile.dump());
803f8af9c48Sopenharmony_ci    }
804f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
805f8af9c48Sopenharmony_ci        HILOGD("failed");
806f8af9c48Sopenharmony_ci    }
807f8af9c48Sopenharmony_ci    return;
808f8af9c48Sopenharmony_ci}
809f8af9c48Sopenharmony_ci
810f8af9c48Sopenharmony_civoid DpRadarHelper::ReportDeleteServiceProfile(int32_t errCode, const std::string& deviceId)
811f8af9c48Sopenharmony_ci{
812f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
813f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
814f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
815f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
816f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
817f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
818f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
819f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
820f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
821f8af9c48Sopenharmony_ci            "FUNC", "DeleteServiceProfile",
822f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_DELETE_SERVICE_PROFILE),
823f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
824f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_IDLE),
825f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
826f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
827f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(deviceId),
828f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME);
829f8af9c48Sopenharmony_ci    } else {
830f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
831f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
832f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
833f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
834f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
835f8af9c48Sopenharmony_ci            "FUNC", "DeleteServiceProfile",
836f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_DELETE_SERVICE_PROFILE),
837f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
838f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
839f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
840f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
841f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(deviceId),
842f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
843f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode);
844f8af9c48Sopenharmony_ci    }
845f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
846f8af9c48Sopenharmony_ci        HILOGD("failed");
847f8af9c48Sopenharmony_ci    }
848f8af9c48Sopenharmony_ci    return;
849f8af9c48Sopenharmony_ci}
850f8af9c48Sopenharmony_ci
851f8af9c48Sopenharmony_civoid DpRadarHelper::ReportDeleteCharProfile(int32_t errCode, const std::string& deviceId)
852f8af9c48Sopenharmony_ci{
853f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
854f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
855f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
856f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
857f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
858f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
859f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
860f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
861f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
862f8af9c48Sopenharmony_ci            "FUNC", "DeleteCharacteristicProfile",
863f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_DELETE_CHAR_PROFILE),
864f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
865f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_IDLE),
866f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
867f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
868f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(deviceId),
869f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME);
870f8af9c48Sopenharmony_ci    } else {
871f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
872f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
873f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
874f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
875f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
876f8af9c48Sopenharmony_ci            "FUNC", "DeleteCharacteristicProfile",
877f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_DELETE_CHAR_PROFILE),
878f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
879f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
880f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
881f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
882f8af9c48Sopenharmony_ci            "PEER_UDID", GetPeerUdid(deviceId),
883f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
884f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode);
885f8af9c48Sopenharmony_ci    }
886f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
887f8af9c48Sopenharmony_ci        HILOGD("failed");
888f8af9c48Sopenharmony_ci    }
889f8af9c48Sopenharmony_ci    return;
890f8af9c48Sopenharmony_ci}
891f8af9c48Sopenharmony_ci
892f8af9c48Sopenharmony_civoid DpRadarHelper::ReportSubscribeDeviceProfile(int32_t errCode, const SubscribeInfo& subscribeInfo)
893f8af9c48Sopenharmony_ci{
894f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
895f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
896f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
897f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
898f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
899f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
900f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
901f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
902f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
903f8af9c48Sopenharmony_ci            "FUNC", "SubscribeDeviceProfile",
904f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_SUBSCRIBE_DEVICE_PROFILE),
905f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
906f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
907f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
908f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
909f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
910f8af9c48Sopenharmony_ci            "EXTRA_INFO", subscribeInfo.dump());
911f8af9c48Sopenharmony_ci    } else {
912f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
913f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
914f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
915f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
916f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
917f8af9c48Sopenharmony_ci            "FUNC", "SubscribeDeviceProfile",
918f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_SUBSCRIBE_DEVICE_PROFILE),
919f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
920f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
921f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
922f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
923f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
924f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
925f8af9c48Sopenharmony_ci            "EXTRA_INFO", subscribeInfo.dump());
926f8af9c48Sopenharmony_ci    }
927f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
928f8af9c48Sopenharmony_ci        HILOGD("failed");
929f8af9c48Sopenharmony_ci    }
930f8af9c48Sopenharmony_ci    return;
931f8af9c48Sopenharmony_ci}
932f8af9c48Sopenharmony_ci
933f8af9c48Sopenharmony_civoid DpRadarHelper::ReportUnSubscribeDeviceProfile(int32_t errCode, const SubscribeInfo& subscribeInfo)
934f8af9c48Sopenharmony_ci{
935f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
936f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
937f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
938f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
939f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
940f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
941f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
942f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
943f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
944f8af9c48Sopenharmony_ci            "FUNC", "UnSubscribeDeviceProfile",
945f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_UNSUNBSCRIBE_DEVICE_PROFILE),
946f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
947f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
948f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
949f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
950f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
951f8af9c48Sopenharmony_ci            "EXTRA_INFO", subscribeInfo.dump());
952f8af9c48Sopenharmony_ci    } else {
953f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
954f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
955f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
956f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
957f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
958f8af9c48Sopenharmony_ci            "FUNC", "UnSubscribeDeviceProfile",
959f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_UNSUNBSCRIBE_DEVICE_PROFILE),
960f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
961f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
962f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
963f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
964f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
965f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode,
966f8af9c48Sopenharmony_ci            "EXTRA_INFO", subscribeInfo.dump());
967f8af9c48Sopenharmony_ci    }
968f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
969f8af9c48Sopenharmony_ci        HILOGD("failed");
970f8af9c48Sopenharmony_ci    }
971f8af9c48Sopenharmony_ci    return;
972f8af9c48Sopenharmony_ci}
973f8af9c48Sopenharmony_ci
974f8af9c48Sopenharmony_civoid DpRadarHelper::ReportSyncDeviceProfile(int32_t errCode)
975f8af9c48Sopenharmony_ci{
976f8af9c48Sopenharmony_ci    int res = DP_SUCCESS;
977f8af9c48Sopenharmony_ci    int32_t stageRes = (errCode == DP_SUCCESS) ?
978f8af9c48Sopenharmony_ci        static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
979f8af9c48Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
980f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
981f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
982f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
983f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
984f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
985f8af9c48Sopenharmony_ci            "FUNC", "SyncDeviceProfile",
986f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_SYNC_DEVICE_PROFILE),
987f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
988f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
989f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
990f8af9c48Sopenharmony_ci            "HOST_PKG", RDB_NAME,
991f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
992f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME);
993f8af9c48Sopenharmony_ci    } else {
994f8af9c48Sopenharmony_ci        res = HiSysEventWrite(
995f8af9c48Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
996f8af9c48Sopenharmony_ci            DP_DATA_OPERATE_BEHAVIOR,
997f8af9c48Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
998f8af9c48Sopenharmony_ci            "ORG_PKG", ORGPKG_NAME,
999f8af9c48Sopenharmony_ci            "FUNC", "SyncDeviceProfile",
1000f8af9c48Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_SYNC_DEVICE_PROFILE),
1001f8af9c48Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
1002f8af9c48Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
1003f8af9c48Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
1004f8af9c48Sopenharmony_ci            "HOST_PKG", RDB_NAME,
1005f8af9c48Sopenharmony_ci            "LOCAL_UDID", GetLocalUdid(),
1006f8af9c48Sopenharmony_ci            "TO_CALL_PKG", RDB_NAME,
1007f8af9c48Sopenharmony_ci            "ERROR_CODE", errCode);
1008f8af9c48Sopenharmony_ci    }
1009f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
1010f8af9c48Sopenharmony_ci        HILOGD("failed");
1011f8af9c48Sopenharmony_ci    }
1012f8af9c48Sopenharmony_ci    return;
1013f8af9c48Sopenharmony_ci}
1014f8af9c48Sopenharmony_ci
1015f8af9c48Sopenharmony_civoid DpRadarHelper::ReportNotifyProfileChange(int32_t code)
1016f8af9c48Sopenharmony_ci{
1017f8af9c48Sopenharmony_ci    std::string funcName = "";
1018f8af9c48Sopenharmony_ci    switch (code) {
1019f8af9c48Sopenharmony_ci        case ProfileType::DEVICE_PROFILE * ChangeType::ADD:
1020f8af9c48Sopenharmony_ci            funcName = "NotifyDeviceProfileAdd";
1021f8af9c48Sopenharmony_ci            break;
1022f8af9c48Sopenharmony_ci        case ProfileType::DEVICE_PROFILE * ChangeType::UPDATE:
1023f8af9c48Sopenharmony_ci            funcName = "NotifyDeviceProfileUpdate";
1024f8af9c48Sopenharmony_ci            break;
1025f8af9c48Sopenharmony_ci        case ProfileType::DEVICE_PROFILE * ChangeType::DELETE:
1026f8af9c48Sopenharmony_ci            funcName = "NotifyDeviceProfileDelete";
1027f8af9c48Sopenharmony_ci            break;
1028f8af9c48Sopenharmony_ci        case ProfileType::SERVICE_PROFILE * ChangeType::ADD:
1029f8af9c48Sopenharmony_ci            funcName = "NotifyServiceProfileAdd";
1030f8af9c48Sopenharmony_ci            break;
1031f8af9c48Sopenharmony_ci        case ProfileType::SERVICE_PROFILE * ChangeType::UPDATE:
1032f8af9c48Sopenharmony_ci            funcName = "NotifyServiceProfileUpdate";
1033f8af9c48Sopenharmony_ci            break;
1034f8af9c48Sopenharmony_ci        case ProfileType::SERVICE_PROFILE * ChangeType::DELETE:
1035f8af9c48Sopenharmony_ci            funcName = "NotifyServiceProfileDelete";
1036f8af9c48Sopenharmony_ci            break;
1037f8af9c48Sopenharmony_ci        case ProfileType::CHAR_PROFILE * ChangeType::ADD:
1038f8af9c48Sopenharmony_ci            funcName = "NotifyCharProfileAdd";
1039f8af9c48Sopenharmony_ci            break;
1040f8af9c48Sopenharmony_ci        case ProfileType::CHAR_PROFILE * ChangeType::UPDATE:
1041f8af9c48Sopenharmony_ci            funcName = "NotifyCharProfileUpdate";
1042f8af9c48Sopenharmony_ci            break;
1043f8af9c48Sopenharmony_ci        case ProfileType::CHAR_PROFILE * ChangeType::DELETE:
1044f8af9c48Sopenharmony_ci            funcName = "NotifyCharProfileDelete";
1045f8af9c48Sopenharmony_ci            break;
1046f8af9c48Sopenharmony_ci    }
1047f8af9c48Sopenharmony_ci    int res = HiSysEventWrite(
1048f8af9c48Sopenharmony_ci        OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
1049f8af9c48Sopenharmony_ci        DP_DATA_OPERATE_BEHAVIOR,
1050f8af9c48Sopenharmony_ci        HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
1051f8af9c48Sopenharmony_ci        "ORG_PKG", ORGPKG_NAME,
1052f8af9c48Sopenharmony_ci        "FUNC", funcName,
1053f8af9c48Sopenharmony_ci        "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_SYNC_DEVICE_PROFILE),
1054f8af9c48Sopenharmony_ci        "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_NOTIFY_PROFILE_CHANGE),
1055f8af9c48Sopenharmony_ci        "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
1056f8af9c48Sopenharmony_ci        "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
1057f8af9c48Sopenharmony_ci        "HOST_PKG", RDB_NAME,
1058f8af9c48Sopenharmony_ci        "LOCAL_UDID", GetLocalUdid(),
1059f8af9c48Sopenharmony_ci        "TO_CALL_PKG", RDB_NAME);
1060f8af9c48Sopenharmony_ci    if (res != DP_SUCCESS) {
1061f8af9c48Sopenharmony_ci        HILOGD("failed");
1062f8af9c48Sopenharmony_ci    }
1063f8af9c48Sopenharmony_ci    return;
1064f8af9c48Sopenharmony_ci}
1065f8af9c48Sopenharmony_ci
1066f8af9c48Sopenharmony_cistd::string DpRadarHelper::GetPeerUdidList(const std::vector<TrustDeviceProfile>& trustDeviceProfiles)
1067f8af9c48Sopenharmony_ci{
1068f8af9c48Sopenharmony_ci    if (trustDeviceProfiles.size() == 0) {
1069f8af9c48Sopenharmony_ci        return "";
1070f8af9c48Sopenharmony_ci    }
1071f8af9c48Sopenharmony_ci    cJSON* deviceInfoJson = cJSON_CreateObject();
1072f8af9c48Sopenharmony_ci    if (deviceInfoJson == nullptr) {
1073f8af9c48Sopenharmony_ci        return "";
1074f8af9c48Sopenharmony_ci    }
1075f8af9c48Sopenharmony_ci    cJSON* peerUdidList = cJSON_CreateArray();
1076f8af9c48Sopenharmony_ci    if (peerUdidList == nullptr) {
1077f8af9c48Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
1078f8af9c48Sopenharmony_ci        return "";
1079f8af9c48Sopenharmony_ci    }
1080f8af9c48Sopenharmony_ci    if (!cJSON_AddItemToObject(deviceInfoJson, "PEER_UDID_LIST", peerUdidList)) {
1081f8af9c48Sopenharmony_ci        cJSON_Delete(peerUdidList);
1082f8af9c48Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
1083f8af9c48Sopenharmony_ci        return "";
1084f8af9c48Sopenharmony_ci    }
1085f8af9c48Sopenharmony_ci    for (size_t i = 0; i < trustDeviceProfiles.size(); i++) {
1086f8af9c48Sopenharmony_ci        std::string udid = GetPeerUdid(trustDeviceProfiles[i].GetDeviceId());
1087f8af9c48Sopenharmony_ci        cJSON* object = cJSON_CreateString(udid.c_str());
1088f8af9c48Sopenharmony_ci        if (object == nullptr) {
1089f8af9c48Sopenharmony_ci            cJSON_Delete(deviceInfoJson);
1090f8af9c48Sopenharmony_ci            return "";
1091f8af9c48Sopenharmony_ci        }
1092f8af9c48Sopenharmony_ci        if (!cJSON_AddItemToArray(peerUdidList, object)) {
1093f8af9c48Sopenharmony_ci            cJSON_Delete(object);
1094f8af9c48Sopenharmony_ci            cJSON_Delete(deviceInfoJson);
1095f8af9c48Sopenharmony_ci            return "";
1096f8af9c48Sopenharmony_ci        }
1097f8af9c48Sopenharmony_ci    }
1098f8af9c48Sopenharmony_ci    char *peerDevUdidStr = cJSON_PrintUnformatted(deviceInfoJson);
1099f8af9c48Sopenharmony_ci    if (peerDevUdidStr == nullptr) {
1100f8af9c48Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
1101f8af9c48Sopenharmony_ci        return "";
1102f8af9c48Sopenharmony_ci    }
1103f8af9c48Sopenharmony_ci    std::string peerUdidStr = std::string(peerDevUdidStr);
1104f8af9c48Sopenharmony_ci    cJSON_Delete(deviceInfoJson);
1105f8af9c48Sopenharmony_ci    cJSON_free(peerDevUdidStr);
1106f8af9c48Sopenharmony_ci    return peerUdidStr;
1107f8af9c48Sopenharmony_ci}
1108f8af9c48Sopenharmony_ci
1109f8af9c48Sopenharmony_cistd::string DpRadarHelper::GetPeerUdidList(const std::vector<AccessControlProfile>& accessControlProfiles)
1110f8af9c48Sopenharmony_ci{
1111f8af9c48Sopenharmony_ci    if (accessControlProfiles.size() == 0) {
1112f8af9c48Sopenharmony_ci        return "";
1113f8af9c48Sopenharmony_ci    }
1114f8af9c48Sopenharmony_ci    cJSON* deviceInfoJson = cJSON_CreateObject();
1115f8af9c48Sopenharmony_ci    if (deviceInfoJson == nullptr) {
1116f8af9c48Sopenharmony_ci        return "";
1117f8af9c48Sopenharmony_ci    }
1118f8af9c48Sopenharmony_ci    cJSON* peerUdidList = cJSON_CreateArray();
1119f8af9c48Sopenharmony_ci    if (peerUdidList == nullptr) {
1120f8af9c48Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
1121f8af9c48Sopenharmony_ci        return "";
1122f8af9c48Sopenharmony_ci    }
1123f8af9c48Sopenharmony_ci    if (!cJSON_AddItemToObject(deviceInfoJson, "PEER_UDID_LIST", peerUdidList)) {
1124f8af9c48Sopenharmony_ci        cJSON_Delete(peerUdidList);
1125f8af9c48Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
1126f8af9c48Sopenharmony_ci        return "";
1127f8af9c48Sopenharmony_ci    }
1128f8af9c48Sopenharmony_ci    for (size_t i = 0; i < accessControlProfiles.size(); i++) {
1129f8af9c48Sopenharmony_ci        std::string udid = GetPeerUdid(accessControlProfiles[i].GetAccessee().GetAccesseeDeviceId());
1130f8af9c48Sopenharmony_ci        cJSON* object = cJSON_CreateString(udid.c_str());
1131f8af9c48Sopenharmony_ci        if (object == nullptr) {
1132f8af9c48Sopenharmony_ci            cJSON_Delete(deviceInfoJson);
1133f8af9c48Sopenharmony_ci            return "";
1134f8af9c48Sopenharmony_ci        }
1135f8af9c48Sopenharmony_ci        if (!cJSON_AddItemToArray(peerUdidList, object)) {
1136f8af9c48Sopenharmony_ci            cJSON_Delete(object);
1137f8af9c48Sopenharmony_ci            cJSON_Delete(deviceInfoJson);
1138f8af9c48Sopenharmony_ci            return "";
1139f8af9c48Sopenharmony_ci        }
1140f8af9c48Sopenharmony_ci    }
1141f8af9c48Sopenharmony_ci    char *peerDevUdidStr = cJSON_PrintUnformatted(deviceInfoJson);
1142f8af9c48Sopenharmony_ci    if (peerDevUdidStr == nullptr) {
1143f8af9c48Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
1144f8af9c48Sopenharmony_ci        return "";
1145f8af9c48Sopenharmony_ci    }
1146f8af9c48Sopenharmony_ci    std::string peerUdidStr = std::string(peerDevUdidStr);
1147f8af9c48Sopenharmony_ci    cJSON_Delete(deviceInfoJson);
1148f8af9c48Sopenharmony_ci    cJSON_free(peerDevUdidStr);
1149f8af9c48Sopenharmony_ci    return peerUdidStr;
1150f8af9c48Sopenharmony_ci}
1151f8af9c48Sopenharmony_ci
1152f8af9c48Sopenharmony_cistd::string DpRadarHelper::GetPeerUdidList(const std::vector<ServiceProfile>& serviceProfiles)
1153f8af9c48Sopenharmony_ci{
1154f8af9c48Sopenharmony_ci    if (serviceProfiles.size() == 0) {
1155f8af9c48Sopenharmony_ci        return "";
1156f8af9c48Sopenharmony_ci    }
1157f8af9c48Sopenharmony_ci    cJSON* deviceInfoJson = cJSON_CreateObject();
1158f8af9c48Sopenharmony_ci    if (deviceInfoJson == nullptr) {
1159f8af9c48Sopenharmony_ci        return "";
1160f8af9c48Sopenharmony_ci    }
1161f8af9c48Sopenharmony_ci    cJSON* peerUdidList = cJSON_CreateArray();
1162f8af9c48Sopenharmony_ci    if (peerUdidList == nullptr) {
1163f8af9c48Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
1164f8af9c48Sopenharmony_ci        return "";
1165f8af9c48Sopenharmony_ci    }
1166f8af9c48Sopenharmony_ci    if (!cJSON_AddItemToObject(deviceInfoJson, "PEER_UDID_LIST", peerUdidList)) {
1167f8af9c48Sopenharmony_ci        cJSON_Delete(peerUdidList);
1168f8af9c48Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
1169f8af9c48Sopenharmony_ci        return "";
1170f8af9c48Sopenharmony_ci    }
1171f8af9c48Sopenharmony_ci    for (size_t i = 0; i < serviceProfiles.size(); i++) {
1172f8af9c48Sopenharmony_ci        std::string udid = GetPeerUdid(serviceProfiles[i].GetDeviceId());
1173f8af9c48Sopenharmony_ci        cJSON* object = cJSON_CreateString(udid.c_str());
1174f8af9c48Sopenharmony_ci        if (object == nullptr) {
1175f8af9c48Sopenharmony_ci            cJSON_Delete(deviceInfoJson);
1176f8af9c48Sopenharmony_ci            return "";
1177f8af9c48Sopenharmony_ci        }
1178f8af9c48Sopenharmony_ci        if (!cJSON_AddItemToArray(peerUdidList, object)) {
1179f8af9c48Sopenharmony_ci            cJSON_Delete(object);
1180f8af9c48Sopenharmony_ci            cJSON_Delete(deviceInfoJson);
1181f8af9c48Sopenharmony_ci            return "";
1182f8af9c48Sopenharmony_ci        }
1183f8af9c48Sopenharmony_ci    }
1184f8af9c48Sopenharmony_ci    char *peerDevUdidStr = cJSON_PrintUnformatted(deviceInfoJson);
1185f8af9c48Sopenharmony_ci    if (peerDevUdidStr == nullptr) {
1186f8af9c48Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
1187f8af9c48Sopenharmony_ci        return "";
1188f8af9c48Sopenharmony_ci    }
1189f8af9c48Sopenharmony_ci    std::string peerUdidStr = std::string(peerDevUdidStr);
1190f8af9c48Sopenharmony_ci    cJSON_Delete(deviceInfoJson);
1191f8af9c48Sopenharmony_ci    cJSON_free(peerDevUdidStr);
1192f8af9c48Sopenharmony_ci    return peerUdidStr;
1193f8af9c48Sopenharmony_ci}
1194f8af9c48Sopenharmony_ci
1195f8af9c48Sopenharmony_cistd::string DpRadarHelper::GetPeerUdidList(const std::vector<CharacteristicProfile>& characteristicProfiles)
1196f8af9c48Sopenharmony_ci{
1197f8af9c48Sopenharmony_ci    if (characteristicProfiles.size() == 0) {
1198f8af9c48Sopenharmony_ci        return "";
1199f8af9c48Sopenharmony_ci    }
1200f8af9c48Sopenharmony_ci    cJSON* deviceInfoJson = cJSON_CreateObject();
1201f8af9c48Sopenharmony_ci    if (deviceInfoJson == nullptr) {
1202f8af9c48Sopenharmony_ci        return "";
1203f8af9c48Sopenharmony_ci    }
1204f8af9c48Sopenharmony_ci    cJSON* peerUdidList = cJSON_CreateArray();
1205f8af9c48Sopenharmony_ci    if (peerUdidList == nullptr) {
1206f8af9c48Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
1207f8af9c48Sopenharmony_ci        return "";
1208f8af9c48Sopenharmony_ci    }
1209f8af9c48Sopenharmony_ci    if (!cJSON_AddItemToObject(deviceInfoJson, "PEER_UDID_LIST", peerUdidList)) {
1210f8af9c48Sopenharmony_ci        cJSON_Delete(peerUdidList);
1211f8af9c48Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
1212f8af9c48Sopenharmony_ci        return "";
1213f8af9c48Sopenharmony_ci    }
1214f8af9c48Sopenharmony_ci    for (size_t i = 0; i < characteristicProfiles.size(); i++) {
1215f8af9c48Sopenharmony_ci        std::string udid = GetPeerUdid(characteristicProfiles[i].GetDeviceId());
1216f8af9c48Sopenharmony_ci        cJSON* object = cJSON_CreateString(udid.c_str());
1217f8af9c48Sopenharmony_ci        if (object == nullptr) {
1218f8af9c48Sopenharmony_ci            cJSON_Delete(deviceInfoJson);
1219f8af9c48Sopenharmony_ci            return "";
1220f8af9c48Sopenharmony_ci        }
1221f8af9c48Sopenharmony_ci        if (!cJSON_AddItemToArray(peerUdidList, object)) {
1222f8af9c48Sopenharmony_ci            cJSON_Delete(object);
1223f8af9c48Sopenharmony_ci            cJSON_Delete(deviceInfoJson);
1224f8af9c48Sopenharmony_ci            return "";
1225f8af9c48Sopenharmony_ci        }
1226f8af9c48Sopenharmony_ci    }
1227f8af9c48Sopenharmony_ci    char *peerDevUdidStr = cJSON_PrintUnformatted(deviceInfoJson);
1228f8af9c48Sopenharmony_ci    if (peerDevUdidStr == nullptr) {
1229f8af9c48Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
1230f8af9c48Sopenharmony_ci        return "";
1231f8af9c48Sopenharmony_ci    }
1232f8af9c48Sopenharmony_ci    std::string peerUdidStr = std::string(peerDevUdidStr);
1233f8af9c48Sopenharmony_ci    cJSON_Delete(deviceInfoJson);
1234f8af9c48Sopenharmony_ci    cJSON_free(peerDevUdidStr);
1235f8af9c48Sopenharmony_ci    return peerUdidStr;
1236f8af9c48Sopenharmony_ci}
1237f8af9c48Sopenharmony_ci
1238f8af9c48Sopenharmony_cistd::string DpRadarHelper::GetAnonyUdid(std::string udid)
1239f8af9c48Sopenharmony_ci{
1240f8af9c48Sopenharmony_ci    if (udid.empty() || udid.length() < INVALID_UDID_LENGTH) {
1241f8af9c48Sopenharmony_ci        return "";
1242f8af9c48Sopenharmony_ci    }
1243f8af9c48Sopenharmony_ci    return udid.substr(0, SUBSTR_UDID_LENGTH) + "**" + udid.substr(udid.length() - SUBSTR_UDID_LENGTH);
1244f8af9c48Sopenharmony_ci}
1245f8af9c48Sopenharmony_ci
1246f8af9c48Sopenharmony_cistd::string DpRadarHelper::GetLocalUdid()
1247f8af9c48Sopenharmony_ci{
1248f8af9c48Sopenharmony_ci    return GetAnonyUdid(ContentSensorManagerUtils::GetInstance().ObtainLocalUdid());
1249f8af9c48Sopenharmony_ci}
1250f8af9c48Sopenharmony_ci
1251f8af9c48Sopenharmony_cistd::string DpRadarHelper::GetPeerUdid(std::string udid)
1252f8af9c48Sopenharmony_ci{
1253f8af9c48Sopenharmony_ci    std::string localUdid = ContentSensorManagerUtils::GetInstance().ObtainLocalUdid();
1254f8af9c48Sopenharmony_ci    return udid.compare(localUdid) == 0 ? "" : GetAnonyUdid(udid);
1255f8af9c48Sopenharmony_ci}
1256f8af9c48Sopenharmony_ci
1257f8af9c48Sopenharmony_cibool DpRadarHelper::IsDeviceProfileInit()
1258f8af9c48Sopenharmony_ci{
1259f8af9c48Sopenharmony_ci    return isInit_;
1260f8af9c48Sopenharmony_ci}
1261f8af9c48Sopenharmony_ci
1262f8af9c48Sopenharmony_civoid DpRadarHelper::SetDeviceProfileInit(bool isInit)
1263f8af9c48Sopenharmony_ci{
1264f8af9c48Sopenharmony_ci    isInit_ = isInit;
1265f8af9c48Sopenharmony_ci}
1266f8af9c48Sopenharmony_ci} // namespace DistributedDeviceProfile
1267f8af9c48Sopenharmony_ci} // namespace OHOS
1268