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_SUPPLIER_UPDATE_SUPPLIERID, eventInfo.updateSupplierId,
61         EVENT_KEY_NET_SUPPLIER_UPDATE_SUPPLIERINFO, eventInfo.supplierInfo, EVENT_KEY_NET_SUPPLIER_UPDATE_NETLINKID,
62         eventInfo.updateNetlinkId, EVENT_KEY_NET_SUPPLIER_UPDATE_NETLINKINFO, eventInfo.netlinkInfo);
63 }
64 
SendRequestFaultEvent(const EventInfo & eventInfo)65 void EventReport::SendRequestFaultEvent(const EventInfo &eventInfo)
66 {
67     HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_CONN_REQUEST_FAULT, HiSysEvent::EventType::FAULT,
68         EVENT_KEY_NET_REQUEST_CAPABILITY, eventInfo.capabilities, EVENT_KEY_NET_REQUEST_SUPPLIERIDENT,
69         eventInfo.supplierIdent, EVENT_KEY_ERROR_TYPE, eventInfo.errorType, EVENT_KEY_ERROR_MSG, eventInfo.errorMsg);
70 }
71 
SendRequestBehaviorEvent(const EventInfo & eventInfo)72 void EventReport::SendRequestBehaviorEvent(const EventInfo &eventInfo)
73 {
74     HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_CONN_REQUEST_STAT, HiSysEvent::EventType::BEHAVIOR,
75         EVENT_KEY_NET_REQUEST_CAPABILITY, eventInfo.capabilities, EVENT_KEY_NET_REQUEST_SUPPLIERIDENT,
76         eventInfo.supplierIdent, EVENT_KEY_NET_REQUEST_CALLBACK_AVAILABLE, eventInfo.callbackAvailable);
77 }
78 
SendMonitorFaultEvent(const EventInfo & eventInfo)79 void EventReport::SendMonitorFaultEvent(const EventInfo &eventInfo)
80 {
81     HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_CONN_MONITOR_FAULT, HiSysEvent::EventType::FAULT,
82         EVENT_KEY_NET_MONITOR_SOCKETFD, eventInfo.socketFd, EVENT_KEY_NET_MONITOR_NETID, eventInfo.netId,
83         EVENT_KEY_ERROR_TYPE, eventInfo.errorType, EVENT_KEY_ERROR_MSG, eventInfo.errorMsg);
84 }
85 
SendMonitorBehaviorEvent(const EventInfo & eventInfo)86 void EventReport::SendMonitorBehaviorEvent(const EventInfo &eventInfo)
87 {
88     HiSysEventWrite(HiSysEvent::Domain::NETMANAGER_STANDARD, NET_CONN_MONITOR_STAT, HiSysEvent::EventType::BEHAVIOR,
89         EVENT_KEY_NET_MONITOR_STATUS, eventInfo.monitorStatus);
90 }
91 } // namespace NetManagerStandard
92 } // namespace OHOS