1 /*
2 * Copyright (c) 2022 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 "net_event_report.h"
17
18 namespace OHOS {
19 namespace NetManagerStandard {
20 namespace {
21 // event name
22 constexpr const char *NET_SHARING_SETUP_FAULT = "NET_SHARING_SETUP_FAULT";
23 constexpr const char *NET_SHARING_CANCEL_FAULT = "NET_SHARING_CANCEL_FAULT";
24 constexpr const char *NET_SHARING_TIME_STAT = "NET_SHARING_TIME_STAT";
25 constexpr const char *NET_VPN_CONNECT_FAULT = "NET_VPN_CONNECT_FAULT";
26 constexpr const char *WIFI_SOFTAP_OPEN_AND_CLOSE_FAILED = "SOFTAP_OPEN_AND_CLOSE_FAILED";
27
28 constexpr const char *VPN_OPERATE_FAULT = "VPN_OPERATE_FAULT";
29 // event params
30 constexpr const char *EVENT_KEY_SHARING_TYPE = "SHARING_TYPE";
31 constexpr const char *EVENT_KEY_OPERATION_TYPE = "OPERATION_TYPE";
32 constexpr const char *EVENT_KEY_SHARING_COUNT = "SHARING_COUNT";
33 constexpr const char *EVENT_KEY_ERROR_TYPE = "ERROR_TYPE";
34 constexpr const char *EVENT_KEY_ERROR_MSG = "ERROR_MSG";
35 constexpr const char *EVENT_KEY_VPN_LEGACY = "VPN_LEGACY";
36 constexpr const char *EVENT_KEY_VPN_ERROR_TYPE = "VPN_ERROR_TYPE";
37 constexpr const char *EVENT_KEY_VPN_ERROR_MSG = "VPN_ERROR_MSG";
38 constexpr const char *EVENT_KEY_FAIL_RESON = "FAIL_REASON";
39 constexpr const char *EVENT_KEY_OPEN_FAIL = "OPEN_FAIL";
40 constexpr const char *EVENT_KEY_CLOSE_FAIL = "CLOSE_FAIL";
41
42 constexpr const char *EVENT_KEY_VPN_USER_TYPE = "USER_TYPE";
43 constexpr const char *EVENT_KEY_VPN_TYPE = "VPN_TYPE";
44 constexpr const char *EVENT_KEY_VPN_BUNDLE_NAME = "BUNDLE_NAME";
45 constexpr const char *EVENT_KEY_VPN_OPERATION_TYPE = "OPERATION_TYPE";
46 constexpr const char *EVENT_KEY_VPN_ERROR_CODE = "ERROR_TYPE";
47 constexpr int32_t NETMANAGER_EXT_SUCCESS = 0;
48 } // namespace
49
SendSetupFaultEvent(const EventInfo & eventInfo)50 int32_t NetEventReport::SendSetupFaultEvent(const EventInfo &eventInfo)
51 {
52 HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_SHARING_SETUP_FAULT, HiSysEvent::EventType::FAULT,
53 EVENT_KEY_SHARING_TYPE, eventInfo.sharingType, EVENT_KEY_OPERATION_TYPE, eventInfo.operatorType,
54 EVENT_KEY_ERROR_TYPE, eventInfo.errorType, EVENT_KEY_ERROR_MSG, eventInfo.errorMsg);
55 return NETMANAGER_EXT_SUCCESS;
56 }
57
SendCancleFaultEvent(const EventInfo & eventInfo)58 int32_t NetEventReport::SendCancleFaultEvent(const EventInfo &eventInfo)
59 {
60 HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_SHARING_CANCEL_FAULT, HiSysEvent::EventType::FAULT,
61 EVENT_KEY_SHARING_TYPE, eventInfo.sharingType, EVENT_KEY_OPERATION_TYPE, eventInfo.operatorType,
62 EVENT_KEY_ERROR_TYPE, eventInfo.errorType, EVENT_KEY_ERROR_MSG, eventInfo.errorMsg);
63 return NETMANAGER_EXT_SUCCESS;
64 }
65
SendWifiSoftapEvent(const EventInfo & eventInfo)66 int32_t NetEventReport::SendWifiSoftapEvent(const EventInfo &eventInfo)
67 {
68 HiSysEventWrite(HiSysEvent::Domain::COMMUNICATION, WIFI_SOFTAP_OPEN_AND_CLOSE_FAILED, HiSysEvent::EventType::FAULT,
69 EVENT_KEY_OPEN_FAIL, eventInfo.apOpenErrorMsg, EVENT_KEY_CLOSE_FAIL, eventInfo.apCloseErrorMsg,
70 EVENT_KEY_FAIL_RESON, eventInfo.errorMsg);
71 return NETMANAGER_EXT_SUCCESS;
72 }
73
SendTimeBehaviorEvent(const EventInfo & eventInfo)74 int32_t NetEventReport::SendTimeBehaviorEvent(const EventInfo &eventInfo)
75 {
76 HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_SHARING_TIME_STAT, HiSysEvent::EventType::BEHAVIOR,
77 EVENT_KEY_SHARING_COUNT, eventInfo.sharingCount, EVENT_KEY_SHARING_TYPE, eventInfo.sharingType);
78 return NETMANAGER_EXT_SUCCESS;
79 }
80
SendVpnConnectEvent(const VpnEventInfo & eventInfo)81 int32_t NetEventReport::SendVpnConnectEvent(const VpnEventInfo &eventInfo)
82 {
83 HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_VPN_CONNECT_FAULT, HiSysEvent::EventType::FAULT,
84 EVENT_KEY_VPN_LEGACY, eventInfo.legacy, EVENT_KEY_OPERATION_TYPE, eventInfo.operatorType,
85 EVENT_KEY_VPN_ERROR_TYPE, eventInfo.errorType, EVENT_KEY_VPN_ERROR_MSG, eventInfo.errorMsg);
86 return NETMANAGER_EXT_SUCCESS;
87 }
88
SendVpnFault(const MultiVpnEvent & eventInfo)89 int32_t NetEventReport::SendVpnFault(const MultiVpnEvent &eventInfo)
90 {
91 HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, VPN_OPERATE_FAULT, HiSysEvent::EventType::FAULT,
92 EVENT_KEY_VPN_USER_TYPE, eventInfo.isMainUser, EVENT_KEY_VPN_TYPE, eventInfo.vpnType,
93 EVENT_KEY_VPN_BUNDLE_NAME, eventInfo.bundleName,
94 EVENT_KEY_VPN_OPERATION_TYPE, eventInfo.operatorType,
95 EVENT_KEY_VPN_ERROR_CODE, eventInfo.errorCode);
96 return NETMANAGER_EXT_SUCCESS;
97 }
98 } // namespace NetManagerStandard
99 } // namespace OHOS