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  * miscservices under the License is miscservices 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 #ifndef SOFTBUS_HISYSEVT_COMMON_H
16 #define SOFTBUS_HISYSEVT_COMMON_H
17 #include "softbus_adapter_hisysevent.h"
18 
19 #ifdef __cplusplus
20 #if __cplusplus
21 extern "C" {
22 #endif
23 #endif
24 
25 #define STATISTIC_EVT_FIRST_DISC_DURATION "FIRST_DISC_DURATION"
26 #define STATISTIC_EVT_DISCOVERY_DETAILS "DISCOVERY_DETAILS"
27 #define STATISTIC_EVT_DISCOVERY_BLE_RSSI "DISCOVERY_BLE_RSSI"
28 
29 #define STATISTIC_EVT_CONN_DURATION "CONN_DURATION"
30 #define STATISTIC_EVT_PROCESS_STEP_DURATION "PROCESS_STEP_DURATION"
31 
32 #define FAULT_EVT_BUS_CENTER "BUS_CENTER_FAULT_EVT"
33 #define STATISTIC_EVT_ONLINE_DURATION "ONLINE_DURATION"
34 #define STATISTIC_EVT_AUTH_KPI "AUTH_DURATION"
35 #define STATISTIC_EVT_LNN_DURATION "BUS_CENTER_DURATION"
36 #define STATISTIC_EVT_DEVICE_ONLINE "DEVICE_ONLINE_EVT"
37 #define STATISTIC_EVT_DEVICE_DISCOVERY "DEVICE_DISCOVERY"
38 #define STATISTIC_EVT_APP_DISCOVERY "APP_DISCOVERY"
39 
40 typedef enum {
41     SOFTBUS_STATISTIC_EVT_START = 0,
42     SOFTBUS_STATISTIC_EVT_TRANS_OPEN_SESSION_CNT = SOFTBUS_STATISTIC_EVT_START,
43     SOFTBUS_STATISTIC_EVT_TRANS_OPEN_SESSION_KPI,
44     TRANSPORT_API_CALLED_INFO_STATISTIC_EVENT,
45     TRANSPORT_API_CALLED_CNT_STATISTIC_EVENT,
46     SOFTBUS_STATISTIC_EVT_TRANS_OPEN_SESSION_TIME_COST,
47     SOFTBUS_STATISTIC_EVT_FIRST_DISC_DURATION,
48     SOFTBUS_STATISTIC_EVT_DISC_BLE_RSSI,
49     SOFTBUS_STATISTIC_EVT_DISC_DETAILS,
50     SOFTBUS_STATISTIC_EVT_CONN_DURATION,
51     SOFTBUS_STATISTIC_EVT_PROCESS_STEP_DURATION,
52 
53     SOFTBUS_STATISTIC_EVT_LNN_DURATION,
54     SOFTBUS_STATISTIC_EVT_ONLINE_DURATION,
55     SOFTBUS_STATISTIC_EVT_AUTH_KPI,
56     SOFTBUS_STATISTIC_EVT_DEV_DISCOVERY,
57     SOFTBUS_STATISTIC_EVT_APP_DISCOVERY,
58 
59     SOFTBUS_STATISTIC_EVT_BUTT,
60 } StatisticEvtType;
61 
62 typedef int32_t(*StatisticEvtReportFunc)(void);
63 
64 int32_t InitSoftbusSysEvt(void);
65 
66 void DeinitSoftbusSysEvt(void);
67 
68 StatisticEvtReportFunc GetStatisticEvtReportFunc(StatisticEvtType type);
69 
70 int32_t SetStatisticEvtReportFunc(StatisticEvtType type, StatisticEvtReportFunc func);
71 
72 int32_t GetErrorCodeEx(int32_t errorCode);
73 
74 #ifdef __cplusplus
75 #if __cplusplus
76 }
77 #endif /* __cplusplus */
78 #endif /* __cplusplus */
79 
80 #endif /* SOFTBUS_HISYSEVT_COMMON_H */