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