1 /*
2 * Copyright (C) 2021-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 "mock_wifi_sta_hal_interface.h"
17
18 namespace OHOS {
19 namespace Wifi {
20
MockWifiStaHalInterface()21 MockWifiStaHalInterface::MockWifiStaHalInterface()
22 {
23 mRetResult = WIFI_HAL_OPT_OK;
24 }
25
GetInstance(void)26 MockWifiStaHalInterface &MockWifiStaHalInterface::GetInstance(void)
27 {
28 static MockWifiStaHalInterface inst;
29 return inst;
30 }
SetRetResult(WifiErrorNo retResult)31 void MockWifiStaHalInterface::SetRetResult(WifiErrorNo retResult)
32 {
33 mRetResult = retResult;
34 }
GetRetResult()35 WifiErrorNo MockWifiStaHalInterface::GetRetResult()
36 {
37 return mRetResult;
38 }
39
SetStaCapabilities(WifiErrorNo retResult)40 void MockWifiStaHalInterface::SetStaCapabilities(WifiErrorNo retResult)
41 {
42 mGetStaCapabilities = retResult;
43 }
44
SetChipsetFeatureCapability(int chipsetFeatureCapability)45 void MockWifiStaHalInterface::SetChipsetFeatureCapability(int chipsetFeatureCapability)
46 {
47 chipsetFeatureCapability_ = chipsetFeatureCapability;
48 }
49
GetInstance(void)50 WifiStaHalInterface &WifiStaHalInterface::GetInstance(void)
51 {
52 static WifiStaHalInterface inst;
53 return inst;
54 }
55
StartWifi(const std::string & ifaceName)56 WifiErrorNo WifiStaHalInterface::StartWifi(const std::string &ifaceName)
57 {
58 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
59 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
60 }
61
StopWifi(void)62 WifiErrorNo WifiStaHalInterface::StopWifi(void)
63 {
64 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
65 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
66 }
67
Connect(int networkId)68 WifiErrorNo WifiStaHalInterface::Connect(int networkId)
69 {
70 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
71 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
72 }
73
Reconnect(void)74 WifiErrorNo WifiStaHalInterface::Reconnect(void)
75 {
76 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
77 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
78 }
79
Reassociate(void)80 WifiErrorNo WifiStaHalInterface::Reassociate(void)
81 {
82 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
83 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
84 }
85
Disconnect(void)86 WifiErrorNo WifiStaHalInterface::Disconnect(void)
87 {
88 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
89 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
90 }
91
GetStaCapabilities(unsigned int & capabilities)92 WifiErrorNo WifiStaHalInterface::GetStaCapabilities(unsigned int &capabilities)
93 {
94 return (MockWifiStaHalInterface::GetInstance().mGetStaCapabilities == WIFI_HAL_OPT_OK) ?
95 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
96 }
97
GetStaDeviceMacAddress(std::string & mac)98 WifiErrorNo WifiStaHalInterface::GetStaDeviceMacAddress(std::string &mac)
99 {
100 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
101 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
102 }
103
SetWifiCountryCode(const std::string & ifaceName,const std::string & code)104 WifiErrorNo WifiStaHalInterface::SetWifiCountryCode(const std::string &ifaceName, const std::string &code)
105 {
106 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
107 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
108 }
109
GetSupportFrequencies(const std::string & ifaceName,int band,std::vector<int> & frequencies)110 WifiErrorNo WifiStaHalInterface::GetSupportFrequencies(const std::string &ifaceName, int band,
111 std::vector<int> &frequencies)
112 {
113 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
114 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
115 }
116
SetConnectMacAddr(const std::string & ifaceName,const std::string & mac)117 WifiErrorNo WifiStaHalInterface::SetConnectMacAddr(const std::string &ifaceName, const std::string &mac)
118 {
119 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
120 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
121 }
122
SetScanMacAddress(const std::string & mac)123 WifiErrorNo WifiStaHalInterface::SetScanMacAddress(const std::string &mac)
124 {
125 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
126 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
127 }
128
DisconnectLastRoamingBssid(const std::string & mac)129 WifiErrorNo WifiStaHalInterface::DisconnectLastRoamingBssid(const std::string &mac)
130 {
131 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
132 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
133 }
134
GetSupportFeature(long & feature)135 WifiErrorNo WifiStaHalInterface::GetSupportFeature(long &feature)
136 {
137 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
138 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
139 }
140
SetTxPower(const std::string & ifaceName,int power)141 WifiErrorNo WifiStaHalInterface::SetTxPower(const std::string &ifaceName, int power)
142 {
143 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
144 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
145 }
146
Scan(const std::string & ifaceName,const WifiHalScanParam & scanParam)147 WifiErrorNo WifiStaHalInterface::Scan(const std::string &ifaceName, const WifiHalScanParam &scanParam)
148 {
149 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
150 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
151 }
152
QueryScanInfos(const std::string & ifaceName,std::vector<InterScanInfo> & scanInfos)153 WifiErrorNo WifiStaHalInterface::QueryScanInfos(const std::string &ifaceName, std::vector<InterScanInfo> &scanInfos)
154 {
155 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
156 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
157 }
158
GetNetworkList(std::vector<WifiHalWpaNetworkInfo> & networkList)159 WifiErrorNo WifiStaHalInterface::GetNetworkList(std::vector<WifiHalWpaNetworkInfo> &networkList)
160 {
161 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
162 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
163 }
164
StartPnoScan(const std::string & ifaceName,const WifiHalPnoScanParam & scanParam)165 WifiErrorNo WifiStaHalInterface::StartPnoScan(const std::string &ifaceName, const WifiHalPnoScanParam &scanParam)
166 {
167 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
168 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
169 }
170
StopPnoScan(const std::string & ifaceName)171 WifiErrorNo WifiStaHalInterface::StopPnoScan(const std::string &ifaceName)
172 {
173 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
174 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
175 }
176
RemoveDevice(int networkId)177 WifiErrorNo WifiStaHalInterface::RemoveDevice(int networkId)
178 {
179 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
180 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
181 }
182
ClearDeviceConfig(void) const183 WifiErrorNo WifiStaHalInterface::ClearDeviceConfig(void) const
184 {
185 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
186 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
187 }
188
GetNextNetworkId(int & networkId)189 WifiErrorNo WifiStaHalInterface::GetNextNetworkId(int &networkId)
190 {
191 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
192 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
193 }
194
EnableNetwork(int networkId)195 WifiErrorNo WifiStaHalInterface::EnableNetwork(int networkId)
196 {
197 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
198 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
199 }
200
DisableNetwork(int networkId)201 WifiErrorNo WifiStaHalInterface::DisableNetwork(int networkId)
202 {
203 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
204 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
205 }
206
SetDeviceConfig(int networkId,const WifiHalDeviceConfig & config)207 WifiErrorNo WifiStaHalInterface::SetDeviceConfig(int networkId, const WifiHalDeviceConfig &config)
208 {
209 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
210 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
211 }
212
GetDeviceConfig(WifiHalGetDeviceConfig & config)213 WifiErrorNo WifiStaHalInterface::GetDeviceConfig(WifiHalGetDeviceConfig &config)
214 {
215 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
216 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
217 }
218
SaveDeviceConfig(void)219 WifiErrorNo WifiStaHalInterface::SaveDeviceConfig(void)
220 {
221 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
222 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
223 }
224
RegisterStaEventCallback(const WifiEventCallback & callback)225 WifiErrorNo WifiStaHalInterface::RegisterStaEventCallback(const WifiEventCallback &callback)
226 {
227 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
228 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
229 }
230
StartWpsPbcMode(const WifiHalWpsConfig & config)231 WifiErrorNo WifiStaHalInterface::StartWpsPbcMode(const WifiHalWpsConfig &config)
232 {
233 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
234 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
235 }
236
StartWpsPinMode(const WifiHalWpsConfig & config,int & pinCode)237 WifiErrorNo WifiStaHalInterface::StartWpsPinMode(const WifiHalWpsConfig &config, int &pinCode)
238 {
239 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
240 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
241 }
242
StopWps(void)243 WifiErrorNo WifiStaHalInterface::StopWps(void)
244 {
245 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
246 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
247 }
248
GetRoamingCapabilities(WifiHalRoamCapability & capability)249 WifiErrorNo WifiStaHalInterface::GetRoamingCapabilities(WifiHalRoamCapability &capability)
250 {
251 capability = mCapability;
252 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
253 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
254 }
255
SetBssid(int networkId,const std::string & bssid)256 WifiErrorNo WifiStaHalInterface::SetBssid(int networkId, const std::string &bssid)
257 {
258 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
259 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
260 }
261
SetRoamConfig(const WifiHalRoamConfig & config)262 WifiErrorNo WifiStaHalInterface::SetRoamConfig(const WifiHalRoamConfig &config)
263 {
264 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
265 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
266 }
267
WpaAutoConnect(int enable)268 WifiErrorNo WifiStaHalInterface::WpaAutoConnect(int enable)
269 {
270 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
271 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
272 }
273
WpaBlocklistClear()274 WifiErrorNo WifiStaHalInterface::WpaBlocklistClear()
275 {
276 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
277 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
278 }
279
GetConnectSignalInfo(const std::string & ifaceName,const std::string & endBssid,WifiHalWpaSignalInfo & info)280 WifiErrorNo WifiStaHalInterface::GetConnectSignalInfo(const std::string &ifaceName, const std::string &endBssid,
281 WifiHalWpaSignalInfo &info)
282 {
283 info = mInfo;
284 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
285 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
286 }
287
SetPmMode(const std::string & ifaceName,int frequency,int mode)288 WifiErrorNo WifiStaHalInterface::SetPmMode(const std::string &ifaceName, int frequency, int mode)
289 {
290 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
291 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
292 }
293
SetDpiMarkRule(const std::string & ifaceName,int uid,int protocol,int enable)294 WifiErrorNo WifiStaHalInterface::SetDpiMarkRule(const std::string &ifaceName, int uid, int protocol, int enable)
295 {
296 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
297 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
298 }
299
GetPskPassphrase(const std::string & ifName,std::string & psk)300 WifiErrorNo WifiStaHalInterface::GetPskPassphrase(const std::string &ifName, std::string &psk)
301 {
302 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
303 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
304 }
305
GetChipsetCategory(const std::string & ifaceName,int & chipsetCategory)306 WifiErrorNo WifiStaHalInterface::GetChipsetCategory(const std::string &ifaceName, int& chipsetCategory)
307 {
308 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
309 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
310 }
311
GetChipsetWifiFeatrureCapability(const std::string & ifaceName,int & chipsetFeatrureCapability)312 WifiErrorNo WifiStaHalInterface::GetChipsetWifiFeatrureCapability(
313 const std::string &ifaceName, int& chipsetFeatrureCapability)
314 {
315 chipsetFeatrureCapability = MockWifiStaHalInterface::GetInstance().chipsetFeatureCapability_;
316 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
317 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
318 }
319
ShellCmd(const std::string & ifName,const std::string & cmd)320 WifiErrorNo WifiStaHalInterface::ShellCmd(const std::string &ifName, const std::string &cmd)
321 {
322 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
323 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
324 }
325
SetNetworkInterfaceUpDown(const std::string & ifaceName,bool upDown)326 WifiErrorNo WifiStaHalInterface::SetNetworkInterfaceUpDown(const std::string &ifaceName, bool upDown)
327 {
328 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
329 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
330 }
331
GetCallbackInst(void) const332 const WifiEventCallback &WifiStaHalInterface::GetCallbackInst(void) const
333 {
334 return mStaCallback;
335 }
336
GetDeathCallbackInst(void) const337 const std::function<void(int)> &WifiStaHalInterface::GetDeathCallbackInst(void) const
338 {
339 return mDeathCallback;
340 }
341
RegisterNativeProcessCallback(const std::function<void (int)> & callback)342 WifiErrorNo WifiStaHalInterface::RegisterNativeProcessCallback(const std::function<void(int)> &callback)
343 {
344 mDeathCallback = callback;
345 return (MockWifiStaHalInterface::GetInstance().GetRetResult() == WIFI_HAL_OPT_OK) ?
346 WIFI_HAL_OPT_OK : WIFI_HAL_OPT_FAILED;
347 }
348 } // namespace Wifi
349 } // namespace OHOS
350