1 /*
2 * Copyright (c) 2022-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 #include "dh_utils_hisysevent.h"
16
17 #include <unordered_map>
18
19 #include "distributed_hardware_errno.h"
20 #include "distributed_hardware_log.h"
21
22 namespace OHOS {
23 namespace DistributedHardware {
HiSysEventWriteMsg(const std::string & status,const OHOS::HiviewDFX::HiSysEvent::EventType eventType,const std::string & msg)24 void HiSysEventWriteMsg(const std::string &status, const OHOS::HiviewDFX::HiSysEvent::EventType eventType,
25 const std::string &msg)
26 {
27 int32_t res = HiSysEventWrite(
28 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_HARDWARE_FWK,
29 status.c_str(),
30 eventType,
31 "MSG", msg.c_str());
32 if (res != DH_FWK_SUCCESS) {
33 DHLOGE("Write HiSysEvent error, res:%{public}d", res);
34 }
35 }
36
HiSysEventWriteErrCodeMsg(const std::string & status,const OHOS::HiviewDFX::HiSysEvent::EventType eventType,int32_t errCode,const std::string & msg)37 void HiSysEventWriteErrCodeMsg(const std::string &status, const OHOS::HiviewDFX::HiSysEvent::EventType eventType,
38 int32_t errCode, const std::string &msg)
39 {
40 int32_t res = HiSysEventWrite(
41 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_HARDWARE_FWK,
42 status.c_str(),
43 eventType,
44 "ERR_CODE", errCode,
45 "ERR_MSG", msg.c_str());
46 if (res != DH_FWK_SUCCESS) {
47 DHLOGE("Write HiSysEvent error, res:%{public}d", res);
48 }
49 }
50
HiSysEventWriteReleaseMsg(const std::string & status,const OHOS::HiviewDFX::HiSysEvent::EventType eventType,const DHType dhType,int32_t errCode,const std::string & msg)51 void HiSysEventWriteReleaseMsg(const std::string &status, const OHOS::HiviewDFX::HiSysEvent::EventType eventType,
52 const DHType dhType, int32_t errCode, const std::string &msg)
53 {
54 std::string dhTypeStr = "UNKNOWN";
55 auto it = DHTypeStrMap.find(dhType);
56 if (it != DHTypeStrMap.end()) {
57 dhTypeStr = it->second;
58 }
59
60 int32_t res = HiSysEventWrite(
61 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_HARDWARE_FWK,
62 status.c_str(),
63 eventType,
64 "DHTYPE", dhTypeStr.c_str(),
65 "ERR_CODE", errCode,
66 "ERR_MSG", msg.c_str());
67 if (res != DH_FWK_SUCCESS) {
68 DHLOGE("Write HiSysEvent error, res:%{public}d", res);
69 }
70 }
71
HiSysEventWriteCompOfflineMsg(const std::string & status,const OHOS::HiviewDFX::HiSysEvent::EventType eventType,const std::string & anonyNetworkId,const std::string & msg)72 void HiSysEventWriteCompOfflineMsg(const std::string &status, const OHOS::HiviewDFX::HiSysEvent::EventType eventType,
73 const std::string &anonyNetworkId, const std::string &msg)
74 {
75 int32_t res = HiSysEventWrite(
76 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_HARDWARE_FWK,
77 status.c_str(),
78 eventType,
79 "NETWORKID", anonyNetworkId.c_str(),
80 "MSG", msg.c_str());
81 if (res != DH_FWK_SUCCESS) {
82 DHLOGE("Write HiSysEvent error, res:%{public}d", res);
83 }
84 }
85
HiSysEventWriteCompMgrFailedMsg(const std::string & status,const OHOS::HiviewDFX::HiSysEvent::EventType eventType,const std::string & anonyDHId,int32_t errCode,const std::string & msg)86 void HiSysEventWriteCompMgrFailedMsg(const std::string &status, const OHOS::HiviewDFX::HiSysEvent::EventType eventType,
87 const std::string &anonyDHId, int32_t errCode, const std::string &msg)
88 {
89 int32_t res = HiSysEventWrite(
90 OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_HARDWARE_FWK,
91 status.c_str(),
92 eventType,
93 "DHID", anonyDHId.c_str(),
94 "ERR_CODE", errCode,
95 "ERR_MSG", msg.c_str());
96 if (res != DH_FWK_SUCCESS) {
97 DHLOGE("Write HiSysEvent error, res:%{public}d", res);
98 }
99 }
100 } // namespace DistributedHardware
101 } // namespace OHOS