1 /*
2  * Copyright (C) 2023-2023 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 #ifndef OHOS_SELF_CURE_MSG_H
17 #define OHOS_SELF_CURE_MSG_H
18 
19 #include "string"
20 
21 namespace OHOS {
22 namespace Wifi {
23 /* self cure history info */
24 struct WifiSelfCureHistoryInfo {
25     /* record dns failed count */
26     int dnsSelfCureFailedCnt;
27 
28     /* record last dns failed milliseconds */
29     int64_t lastDnsSelfCureFailedTs;
30 
31     /* record renew dhcp failed count */
32     int renewDhcpSelfCureFailedCnt;
33 
34     /* record last renew dhcp failed milliseconds */
35     int64_t lastRenewDhcpSelfCureFailedTs;
36 
37     /* record static ip failed count */
38     int staticIpSelfCureFailedCnt;
39 
40     /* record last static ip failed milliseconds */
41     int64_t lastStaticIpSelfCureFailedTs;
42 
43     /* record reassoc failed count */
44     int reassocSelfCureFailedCnt;
45 
46     /* record last reassoc failed milliseconds */
47     int64_t lastReassocSelfCureFailedTs;
48 
49     /* record rand mac selfcure fail cnt */
50     int randMacSelfCureFailedCnt;
51 
52     /* record rand mac selfcure fail time */
53     int64_t lastRandMacSelfCureFailedCntTs;
54 
55     /* record reset failed count */
56     int resetSelfCureFailedCnt;
57 
58     /* record last reset failed milliseconds */
59     int64_t lastResetSelfCureFailedTs;
60 
61     /* record reassoc connect failed count */
62     int reassocSelfCureConnectFailedCnt;
63 
64     /* record last reassoc connect failed milliseconds */
65     int64_t lastReassocSelfCureConnectFailedTs;
66 
67     /* record rand mac selfcure connect fail cnt */
68     int randMacSelfCureConnectFailedCnt;
69 
70     /* record rand mac selfcure connect fail time */
71     int64_t lastRandMacSelfCureConnectFailedCntTs;
72 
73     /* record reset connect failed count */
74     int resetSelfCureConnectFailedCnt;
75 
76     /* record last reset connect failed milliseconds */
77     int64_t lastResetSelfCureConnectFailedTs;
WifiSelfCureHistoryInfoWifiSelfCureHistoryInfo78     WifiSelfCureHistoryInfo()
79     {
80         dnsSelfCureFailedCnt = 0;
81         lastDnsSelfCureFailedTs = 0;
82         renewDhcpSelfCureFailedCnt = 0;
83         lastRenewDhcpSelfCureFailedTs = 0;
84         staticIpSelfCureFailedCnt = 0;
85         lastStaticIpSelfCureFailedTs = 0;
86         reassocSelfCureFailedCnt = 0;
87         lastReassocSelfCureFailedTs = 0;
88         randMacSelfCureFailedCnt = 0;
89         lastRandMacSelfCureFailedCntTs = 0;
90         resetSelfCureFailedCnt = 0;
91         lastResetSelfCureFailedTs = 0;
92         reassocSelfCureConnectFailedCnt = 0;
93         lastReassocSelfCureConnectFailedTs = 0;
94         randMacSelfCureConnectFailedCnt = 0;
95         lastRandMacSelfCureConnectFailedCntTs = 0;
96         resetSelfCureConnectFailedCnt = 0;
97         lastResetSelfCureConnectFailedTs = 0;
98     }
GetSelfCureHistoryWifiSelfCureHistoryInfo99     std::string GetSelfCureHistory()
100     {
101         std::string internetSelfCureHistory;
102         internetSelfCureHistory.append(std::to_string(dnsSelfCureFailedCnt) + "|");
103         internetSelfCureHistory.append(std::to_string(lastDnsSelfCureFailedTs) + "|");
104         internetSelfCureHistory.append(std::to_string(renewDhcpSelfCureFailedCnt) + "|");
105         internetSelfCureHistory.append(std::to_string(lastRenewDhcpSelfCureFailedTs) + "|");
106         internetSelfCureHistory.append(std::to_string(staticIpSelfCureFailedCnt) + "|");
107         internetSelfCureHistory.append(std::to_string(lastStaticIpSelfCureFailedTs) + "|");
108         internetSelfCureHistory.append(std::to_string(reassocSelfCureFailedCnt) + "|");
109         internetSelfCureHistory.append(std::to_string(lastReassocSelfCureFailedTs) + "|");
110         internetSelfCureHistory.append(std::to_string(randMacSelfCureFailedCnt) + "|");
111         internetSelfCureHistory.append(std::to_string(lastRandMacSelfCureFailedCntTs) + "|");
112         internetSelfCureHistory.append(std::to_string(resetSelfCureFailedCnt) + "|");
113         internetSelfCureHistory.append(std::to_string(lastResetSelfCureFailedTs) + "|");
114         internetSelfCureHistory.append(std::to_string(reassocSelfCureConnectFailedCnt) + "|");
115         internetSelfCureHistory.append(std::to_string(lastReassocSelfCureConnectFailedTs) + "|");
116         internetSelfCureHistory.append(std::to_string(randMacSelfCureConnectFailedCnt) + "|");
117         internetSelfCureHistory.append(std::to_string(lastRandMacSelfCureConnectFailedCntTs) + "|");
118         internetSelfCureHistory.append(std::to_string(resetSelfCureConnectFailedCnt) + "|");
119         internetSelfCureHistory.append(std::to_string(lastResetSelfCureConnectFailedTs));
120         return internetSelfCureHistory;
121     }
122 };
123 
124 enum class SelfCureType {
125     SCE_TYPE_INVALID = 0,
126     SCE_TYPE_DNS = 1,
127     SCE_TYPE_REASSOC = 2,
128     SCE_TYPE_WIFI6 = 3,
129     SCE_TYPE_STATIC_IP = 4,
130     SCE_TYPE_MULTI_GW = 5,
131     SCE_TYPE_RANDMAC = 6,
132     SCE_TYPE_RESET = 7,
133 };
134 }
135 }
136 #endif