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 "event_report.h"
17 
18 namespace OHOS {
19 namespace NetManagerStandard {
20 namespace {
21 // event name
22 constexpr const char *NET_CONN_SUPPLER_FAULT = "NET_CONN_SUPPLER_FAULT";
23 constexpr const char *NET_CONN_REQUEST_FAULT = "NET_CONN_REQUEST_FAULT";
24 constexpr const char *NET_CONN_MONITOR_FAULT = "NET_CONN_MONITOR_FAULT";
25 constexpr const char *NET_CONN_SUPPLER_STAT = "NET_CONN_SUPPLER_STAT";
26 constexpr const char *NET_CONN_REQUEST_STAT = "NET_CONN_REQUEST_STAT";
27 constexpr const char *NET_CONN_MONITOR_STAT = "NET_CONN_MONITOR_STAT";
28 // event params
29 constexpr const char *EVENT_KEY_NET_SUPPLIER_UPDATE_SUPPLIERID = "UPDATE_SUPPLIERID";
30 constexpr const char *EVENT_KEY_NET_SUPPLIER_UPDATE_SUPPLIERINFO = "UPDATE_SUPPLIERINFO";
31 constexpr const char *EVENT_KEY_NET_SUPPLIER_UPDATE_NETLINKID = "UPDATE_NETLINKID";
32 constexpr const char *EVENT_KEY_NET_SUPPLIER_UPDATE_NETLINKINFO = "UPDATE_NETLINKINFO";
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_NET_REQUEST_CAPABILITY = "CAPABILITIES";
36 constexpr const char *EVENT_KEY_NET_MONITOR_SOCKETFD = "SOCKETFD";
37 constexpr const char *EVENT_KEY_NET_MONITOR_NETID = "NETID";
38 constexpr const char *EVENT_KEY_NET_SUPPLIER_REGISTER_BEARERTYPE = "REGISTER_BEARERTYPE";
39 constexpr const char *EVENT_KEY_NET_SUPPLIER_REGISTER_IDENT = "REGISTER_IDENT";
40 constexpr const char *EVENT_KEY_NET_SUPPLIER_REGISTER_SUPPLIERID = "REGISTER_SUPPLIERID";
41 constexpr const char *EVENT_KEY_NET_REQUEST_CALLBACK_AVAILABLE = "CALLBACK_AVAILABLE";
42 constexpr const char *EVENT_KEY_NET_REQUEST_SUPPLIERIDENT = "SUPPLIERIDENT";
43 constexpr const char *EVENT_KEY_NET_MONITOR_STATUS = "STATUS";
44 } // namespace
45 
SendSupplierFaultEvent(const EventInfo &eventInfo)46 void EventReport::SendSupplierFaultEvent(const EventInfo &eventInfo)
47 {
48     HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_CONN_SUPPLER_FAULT, HiSysEvent::EventType::FAULT,
49         EVENT_KEY_NET_SUPPLIER_UPDATE_SUPPLIERID, eventInfo.updateSupplierId,
50         EVENT_KEY_NET_SUPPLIER_UPDATE_SUPPLIERINFO, eventInfo.supplierInfo, EVENT_KEY_NET_SUPPLIER_UPDATE_NETLINKID,
51         eventInfo.updateNetlinkId, EVENT_KEY_NET_SUPPLIER_UPDATE_NETLINKINFO, eventInfo.netlinkInfo,
52         EVENT_KEY_ERROR_TYPE, eventInfo.errorType, EVENT_KEY_ERROR_MSG, eventInfo.errorMsg);
53 }
54 
SendSupplierBehaviorEvent(const EventInfo &eventInfo)55 void EventReport::SendSupplierBehaviorEvent(const EventInfo &eventInfo)
56 {
57     HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_CONN_SUPPLER_STAT, HiSysEvent::EventType::BEHAVIOR,
58         EVENT_KEY_NET_SUPPLIER_REGISTER_BEARERTYPE, eventInfo.bearerType, EVENT_KEY_NET_SUPPLIER_REGISTER_IDENT,
59         eventInfo.ident, EVENT_KEY_NET_SUPPLIER_REGISTER_SUPPLIERID, eventInfo.supplierId,
60         EVENT_KEY_NET_MONITOR_NETID, eventInfo.netId,
61         EVENT_KEY_NET_SUPPLIER_UPDATE_SUPPLIERID, eventInfo.updateSupplierId,
62         EVENT_KEY_NET_SUPPLIER_UPDATE_SUPPLIERINFO, eventInfo.supplierInfo, EVENT_KEY_NET_SUPPLIER_UPDATE_NETLINKID,
63         eventInfo.updateNetlinkId, EVENT_KEY_NET_SUPPLIER_UPDATE_NETLINKINFO, eventInfo.netlinkInfo);
64 }
65 
SendRequestFaultEvent(const EventInfo &eventInfo)66 void EventReport::SendRequestFaultEvent(const EventInfo &eventInfo)
67 {
68     HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_CONN_REQUEST_FAULT, HiSysEvent::EventType::FAULT,
69         EVENT_KEY_NET_REQUEST_CAPABILITY, eventInfo.capabilities, EVENT_KEY_NET_REQUEST_SUPPLIERIDENT,
70         eventInfo.supplierIdent, EVENT_KEY_ERROR_TYPE, eventInfo.errorType, EVENT_KEY_ERROR_MSG, eventInfo.errorMsg);
71 }
72 
SendRequestBehaviorEvent(const EventInfo &eventInfo)73 void EventReport::SendRequestBehaviorEvent(const EventInfo &eventInfo)
74 {
75     HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_CONN_REQUEST_STAT, HiSysEvent::EventType::BEHAVIOR,
76         EVENT_KEY_NET_REQUEST_CAPABILITY, eventInfo.capabilities, EVENT_KEY_NET_REQUEST_SUPPLIERIDENT,
77         eventInfo.supplierIdent, EVENT_KEY_NET_REQUEST_CALLBACK_AVAILABLE, eventInfo.callbackAvailable);
78 }
79 
SendMonitorFaultEvent(const EventInfo &eventInfo)80 void EventReport::SendMonitorFaultEvent(const EventInfo &eventInfo)
81 {
82     HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_CONN_MONITOR_FAULT, HiSysEvent::EventType::FAULT,
83         EVENT_KEY_NET_MONITOR_SOCKETFD, eventInfo.socketFd, EVENT_KEY_NET_MONITOR_NETID, eventInfo.netId,
84         EVENT_KEY_ERROR_TYPE, eventInfo.errorType, EVENT_KEY_ERROR_MSG, eventInfo.errorMsg);
85 }
86 
SendMonitorBehaviorEvent(const EventInfo &eventInfo)87 void EventReport::SendMonitorBehaviorEvent(const EventInfo &eventInfo)
88 {
89     HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_CONN_MONITOR_STAT, HiSysEvent::EventType::BEHAVIOR,
90         EVENT_KEY_NET_MONITOR_STATUS, eventInfo.monitorStatus);
91 }
92 } // namespace NetManagerStandard
93 } // namespace OHOS