1 /* 2 * Copyright (C) 2024 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_MOCK_WIFI_CONFIG_CENTER_H 17 #define OHOS_MOCK_WIFI_CONFIG_CENTER_H 18 19 #include <gmock/gmock.h> 20 #include "wifi_internal_msg.h" 21 #include "mock_wifi_scan_config.h" 22 23 namespace OHOS { 24 namespace Wifi { 25 using ChannelsTable = std::map<BandType, std::vector<int32_t>>; 26 27 class MockWifiConfigCenter { 28 public: 29 virtual ~MockWifiConfigCenter() = default; 30 virtual void SetWifiSelfcureReset(const bool isReset) = 0; 31 virtual bool GetWifiSelfcureReset() const = 0; 32 virtual void SetWifiSelfcureResetEntered(const bool isReset) = 0; 33 virtual bool GetWifiSelfcureResetEntered() = 0; 34 virtual void SetLastNetworkId(const int networkId) = 0; 35 virtual int GetLastNetworkId() const = 0; 36 virtual void SetWifiAllowSemiActive(bool isAllowed) = 0; 37 virtual bool GetWifiAllowSemiActive() const = 0; 38 virtual void SetWifiStopState(bool state) = 0; 39 virtual bool GetWifiStopState() const= 0; 40 virtual void SetStaIfaceName(const std::string &ifaceName) = 0; 41 virtual std::string GetStaIfaceName() = 0; 42 virtual int GetWifiState(int instId = 0) = 0; 43 virtual int SetWifiState(int state, int instId = 0) = 0; 44 virtual WifiDetailState GetWifiDetailState(int instId = 0) = 0; 45 virtual int SetWifiDetailState(WifiDetailState state, int instId) = 0; 46 virtual int GetIpInfo(IpInfo &info, int instId = 0) = 0; 47 virtual int SaveIpInfo(const IpInfo &info, int instId = 0) = 0; 48 virtual int GetIpv6Info(IpV6Info &info, int instId = 0) = 0; 49 virtual int SaveIpV6Info(const IpV6Info &info, int instId = 0) = 0; 50 virtual std::map<int, WifiLinkedInfo> GetAllWifiLinkedInfo() = 0; 51 virtual int GetLinkedInfo(WifiLinkedInfo &info, int instId = 0) = 0; 52 virtual int SaveLinkedInfo(const WifiLinkedInfo &info, int instId = 0) = 0; 53 virtual void UpdateLinkedChannelWidth(std::string bssid, WifiChannelWidth channelWidth, int instId = 0) = 0; 54 virtual int SetMacAddress(const std::string &macAddress, int instId = 0) = 0; 55 virtual int GetMacAddress(std::string &macAddress, int instId = 0) = 0; 56 virtual void SetUserLastSelectedNetworkId(int networkId, int instId = 0) = 0; 57 virtual int GetUserLastSelectedNetworkId(int instId = 0) = 0; 58 virtual time_t GetUserLastSelectedNetworkTimeVal(int instId = 0) = 0; 59 virtual std::string GetConnectTimeoutBssid(int instId = 0) = 0; 60 virtual int SetConnectTimeoutBssid(std::string &bssid, int instId = 0) = 0; 61 virtual void SaveDisconnectedReason(DisconnectedReason discReason, int instId = 0) = 0; 62 virtual int GetDisconnectedReason(DisconnectedReason &discReason, int instId = 0) = 0; 63 virtual void InsertWifiCategoryBlackListCache(int blacklistType, const std::string currentBssid, 64 const WifiCategoryBlackListInfo wifiBlackListInfo) = 0; 65 virtual void RemoveWifiCategoryBlackListCache(int blacklistType, const std::string bssid) = 0; 66 virtual int GetWifiCategoryBlackListCache(int blacklistType, 67 std::map<std::string, WifiCategoryBlackListInfo> &blackListCache) = 0; 68 virtual void UpdateWifiConnectFailListCache(int blacklistType, const std::string bssid, 69 const WifiCategoryConnectFailInfo connectFailInfo) = 0; 70 virtual void RemoveWifiConnectFailListCache(const std::string bssid) = 0; 71 virtual int GetWifiConnectFailListCache( 72 std::map<std::string, WifiCategoryConnectFailInfo> &connectFailCache) = 0; 73 virtual bool EnableNetwork(int networkId, bool disableOthers, int instId = 0) = 0; 74 virtual void SetAppPackageName(const std::string &name) = 0; 75 virtual const std::string GetAppPackageName() = 0; 76 virtual void SetAppRunningState(ScanMode appRunMode) = 0; 77 virtual ScanMode GetAppRunningState() const = 0; 78 virtual int GetScanControlInfo(ScanControlInfo &info, int instId = 0) = 0; 79 virtual int SetScanControlInfo(const ScanControlInfo &info, int instId = 0) = 0; 80 virtual int GetAbnormalApps(std::vector<std::string> &abnormalAppList) = 0; 81 virtual int SaveScanInfoList(const std::vector<WifiScanInfo> &results) = 0; 82 virtual int ClearScanInfoList() = 0; 83 virtual int GetScanInfoList(std::vector<WifiScanInfo> &results) = 0; 84 virtual int SetWifiLinkedStandardAndMaxSpeed(WifiLinkedInfo &linkInfo) = 0; 85 virtual std::string GetConnectedBssid(int instId = 0) = 0; 86 virtual std::string GetApIfaceName() = 0; 87 virtual int SetHotspotState(int state, int id = 0) = 0; 88 virtual int SetPowerModel(const PowerModel& model, int id = 0)= 0; 89 virtual int GetPowerModel(PowerModel& model, int id = 0) = 0; 90 virtual int GetStationList(std::vector<StationInfo> &results, int id = 0) = 0; 91 virtual int ManageStation(const StationInfo &info, int mode, int id = 0) = 0; 92 virtual int ClearStationList(int id = 0)= 0; 93 virtual int GetHid2dUpperScene(int uid, Hid2dUpperScene &scene) = 0; 94 virtual int SetP2pBusinessType(const P2pBusinessType &type) = 0; 95 virtual int GetP2pBusinessType(P2pBusinessType &type) = 0; 96 virtual int SaveP2pInfo(WifiP2pLinkedInfo &linkedInfo) = 0; 97 virtual int GetP2pInfo(WifiP2pLinkedInfo &linkedInfo) = 0; 98 virtual WifiP2pGroupInfo GetCurrentP2pGroupInfo() = 0; 99 virtual void SetCoexSupport(bool isSupport) = 0; 100 virtual bool GetCoexSupport() const = 0; 101 virtual void SetScreenState(const int &state) = 0; 102 virtual int GetScreenState() const = 0; 103 virtual void SetThermalLevel(const int &level) = 0; 104 virtual int GetThermalLevel() const = 0; 105 virtual bool SetWifiStateOnAirplaneChanged(const int &state); 106 virtual void SetWifiToggledState(int state) = 0; 107 virtual int GetFreezeModeState() const = 0; 108 virtual void SetThreadStatusFlag(bool state) = 0; 109 virtual int SetChangeDeviceConfig(ConfigChange value, const WifiDeviceConfig &config) = 0; 110 virtual void SetWifiConnectedMode(bool isContainerConnected, int instId = 0) = 0; 111 virtual bool GetWifiConnectedMode(int instId = 0) = 0; 112 virtual WifiOprMidState GetScanMidState(int instId = 0) = 0; 113 virtual void SetScanMidState(WifiOprMidState state, int instId = 0) = 0; 114 virtual bool SetScanMidState(WifiOprMidState expState, WifiOprMidState state, int instId = 0) = 0; 115 virtual WifiOprMidState GetWifiMidState(int instId = 0) = 0; 116 virtual void SetWifiMidState(WifiOprMidState state, int instId = 0) = 0; 117 virtual bool SetWifiMidState(WifiOprMidState expState, WifiOprMidState state, int instId = 0) = 0; 118 virtual WifiOprMidState GetP2pMidState() = 0; 119 virtual void SetP2pMidState(WifiOprMidState state) = 0; 120 virtual bool SetP2pMidState(WifiOprMidState expState, WifiOprMidState state) = 0; 121 virtual WifiOprMidState GetWifiScanOnlyMidState(int instId = 0) = 0; 122 virtual bool SetWifiScanOnlyMidState(WifiOprMidState expState, WifiOprMidState state, int instId = 0) = 0; 123 virtual void SetWifiScanOnlyMidState(WifiOprMidState state, int instId = 0) = 0; 124 virtual WifiOprMidState GetApMidState(int id = 0) = 0; 125 virtual bool SetApMidState(WifiOprMidState expState, WifiOprMidState state, int id = 0) = 0; 126 virtual void SetApMidState(WifiOprMidState state, int id = 0) = 0; 127 virtual int GetAirplaneModeState() const = 0; 128 virtual int GetHotspotState(int id = 0) = 0; 129 virtual int SetP2pEnhanceState(int state = 0) = 0; 130 virtual int GetP2pEnhanceState() = 0; 131 virtual void ClearLocalHid2dInfo(int uid = 0) = 0; 132 virtual void UpdateLinkedInfo(int instId) = 0; 133 }; 134 135 class WifiConfigCenter : public MockWifiConfigCenter { 136 public: 137 static WifiConfigCenter &GetInstance(); 138 std::unique_ptr<WifiScanConfig>& GetWifiScanConfig(); 139 140 MOCK_METHOD1(SetWifiSelfcureReset, void(const bool isReset)); 141 MOCK_CONST_METHOD0(GetWifiSelfcureReset, bool()); 142 MOCK_METHOD1(SetWifiSelfcureResetEntered, void(const bool isReset)); 143 MOCK_METHOD0(GetWifiSelfcureResetEntered, bool()); 144 MOCK_METHOD1(SetLastNetworkId, void(const int networkId)); 145 MOCK_CONST_METHOD0(GetLastNetworkId, int()); 146 MOCK_METHOD1(SetWifiAllowSemiActive, void(bool isAllowed)); 147 MOCK_CONST_METHOD0(GetWifiAllowSemiActive, bool()); 148 MOCK_METHOD1(SetWifiStopState, void(bool state)); 149 MOCK_CONST_METHOD0(GetWifiStopState, bool()); 150 MOCK_METHOD1(SetStaIfaceName, void(const std::string &ifaceName)); 151 MOCK_METHOD0(GetStaIfaceName, std::string()); 152 MOCK_METHOD1(GetWifiState, int(int)); 153 MOCK_METHOD2(SetWifiState, int(int state, int)); 154 MOCK_METHOD1(GetWifiDetailState, WifiDetailState(int instId)); 155 MOCK_METHOD2(SetWifiDetailState, int(WifiDetailState state, int instId)); 156 MOCK_METHOD2(GetIpInfo, int(IpInfo &info, int)); 157 MOCK_METHOD2(SaveIpInfo, int(const IpInfo &info, int)); 158 MOCK_METHOD2(GetIpv6Info, int(IpV6Info &info, int)); 159 MOCK_METHOD2(SaveIpV6Info, int(const IpV6Info &info, int)); 160 MOCK_METHOD0(GetAllWifiLinkedInfo, std::map<int, WifiLinkedInfo> ()); 161 MOCK_METHOD2(GetLinkedInfo, int(WifiLinkedInfo &info, int)); 162 MOCK_METHOD2(SaveLinkedInfo, int(const WifiLinkedInfo &info, int)); 163 MOCK_METHOD3(UpdateLinkedChannelWidth, void(std::string bssid, WifiChannelWidth channelWidth, int instId)); 164 MOCK_METHOD2(SetMacAddress, int(const std::string &macAddress, int)); 165 MOCK_METHOD2(GetMacAddress, int(std::string &macAddress, int)); 166 MOCK_METHOD2(SetUserLastSelectedNetworkId, void(int networkId, int)); 167 MOCK_METHOD1(GetUserLastSelectedNetworkId, int(int)); 168 MOCK_METHOD1(GetUserLastSelectedNetworkTimeVal, time_t(int)); 169 MOCK_METHOD1(GetConnectTimeoutBssid, std::string(int)); 170 MOCK_METHOD2(SetConnectTimeoutBssid, int(std::string &bssid, int)); 171 MOCK_METHOD2(SaveDisconnectedReason, void(DisconnectedReason discReason, int)); 172 MOCK_METHOD2(GetDisconnectedReason, int(DisconnectedReason &discReason, int instId)); 173 MOCK_METHOD3(InsertWifiCategoryBlackListCache, void(int blacklistType, const std::string currentBssid, 174 const WifiCategoryBlackListInfo wifiBlackListInfo)); 175 MOCK_METHOD2(RemoveWifiCategoryBlackListCache, void(int blacklistType, const std::string bssid)); 176 MOCK_METHOD2(GetWifiCategoryBlackListCache, int( 177 int blacklistType, std::map<std::string, WifiCategoryBlackListInfo> &blackListCache)); 178 MOCK_METHOD3(UpdateWifiConnectFailListCache, void(int blacklistType, const std::string currentBssid, 179 const WifiCategoryConnectFailInfo connectFailInfo)); 180 MOCK_METHOD1(RemoveWifiConnectFailListCache, void(const std::string bssid)); 181 MOCK_METHOD1(GetWifiConnectFailListCache, int( 182 std::map<std::string, WifiCategoryConnectFailInfo> &connectFailCache)); 183 MOCK_METHOD3(EnableNetwork, bool(int networkId, bool disableOthers, int)); 184 MOCK_METHOD1(SetAppPackageName, void(const std::string &name)); 185 MOCK_METHOD0(GetAppPackageName, const std::string()); 186 MOCK_METHOD1(SetAppRunningState, void(ScanMode appRunMode)); 187 MOCK_CONST_METHOD0(GetAppRunningState, ScanMode()); 188 MOCK_METHOD2(GetScanControlInfo, int(ScanControlInfo &info, int)); 189 MOCK_METHOD2(SetScanControlInfo, int(const ScanControlInfo &info, int)); 190 MOCK_METHOD1(GetAbnormalApps, int (std::vector<std::string> &abnormalAppList)); 191 MOCK_METHOD1(SaveScanInfoList, int(const std::vector<WifiScanInfo> &results)); 192 MOCK_METHOD0(ClearScanInfoList, int()); 193 MOCK_METHOD1(GetScanInfoList, int(std::vector<WifiScanInfo> &results)); 194 MOCK_METHOD1(SetWifiLinkedStandardAndMaxSpeed, int(WifiLinkedInfo &linkInfo)); 195 MOCK_METHOD1(GetConnectedBssid, std::string (int instId)); 196 MOCK_METHOD0(GetApIfaceName, std::string()); 197 MOCK_METHOD2(SetHotspotState, int(int state, int id)); 198 MOCK_METHOD2(SetPowerModel, int(const PowerModel& model, int id)); 199 MOCK_METHOD2(GetPowerModel, int(PowerModel& model, int id)); 200 MOCK_METHOD2(GetStationList, int(std::vector<StationInfo> &results, int id)); 201 MOCK_METHOD3(ManageStation, int(const StationInfo &info, int mode, int id)); 202 MOCK_METHOD1(ClearStationList, int(int id)); 203 MOCK_METHOD2(GetHid2dUpperScene, int(int uid, Hid2dUpperScene &scene)); 204 MOCK_METHOD1(SetP2pBusinessType, int(const P2pBusinessType &type)); 205 MOCK_METHOD1(GetP2pBusinessType, int(P2pBusinessType &type)); 206 MOCK_METHOD1(SaveP2pInfo, int(WifiP2pLinkedInfo &linkedInfo)); 207 MOCK_METHOD1(GetP2pInfo, int(WifiP2pLinkedInfo &linkedInfo)); 208 MOCK_METHOD0(GetCurrentP2pGroupInfo, WifiP2pGroupInfo()); 209 MOCK_METHOD1(SetCoexSupport, void(bool isSupport)); 210 MOCK_CONST_METHOD0(GetCoexSupport, bool()); 211 MOCK_METHOD1(SetScreenState, void(const int &state)); 212 MOCK_CONST_METHOD0(GetScreenState, int()); 213 MOCK_METHOD1(SetThermalLevel, void(const int &level)); 214 MOCK_CONST_METHOD0(GetThermalLevel, int()); 215 MOCK_METHOD1(SetWifiStateOnAirplaneChanged, bool(const int &state)); 216 MOCK_METHOD1(SetWifiToggledState, void(int state)); 217 MOCK_CONST_METHOD0(GetFreezeModeState, int()); 218 MOCK_METHOD1(SetThreadStatusFlag, void(bool state)); 219 MOCK_METHOD2(SetChangeDeviceConfig, int(ConfigChange value, const WifiDeviceConfig &config)); 220 MOCK_METHOD2(SetWifiConnectedMode, void(bool isContainerConnected, int instId)); 221 MOCK_METHOD1(GetWifiConnectedMode, bool(int instId)); 222 MOCK_METHOD1(GetScanMidState, WifiOprMidState(int instId)); 223 MOCK_METHOD2(SetScanMidState, void(WifiOprMidState state, int instId)); 224 MOCK_METHOD3(SetScanMidState, bool(WifiOprMidState expState, WifiOprMidState state, int instId)); 225 MOCK_METHOD1(GetWifiMidState, WifiOprMidState(int instId)); 226 MOCK_METHOD2(SetWifiMidState, void(WifiOprMidState state, int instId)); 227 MOCK_METHOD3(SetWifiMidState, bool(WifiOprMidState expState, WifiOprMidState state, int instId)); 228 MOCK_METHOD0(GetP2pMidState, WifiOprMidState(void)); 229 MOCK_METHOD1(SetP2pMidState, void(WifiOprMidState state)); 230 MOCK_METHOD2(SetP2pMidState, bool(WifiOprMidState expState, WifiOprMidState state)); 231 MOCK_METHOD1(GetWifiScanOnlyMidState, WifiOprMidState(int instId)); 232 MOCK_METHOD3(SetWifiScanOnlyMidState, bool(WifiOprMidState expState, WifiOprMidState state, int instId)); 233 MOCK_METHOD2(SetWifiScanOnlyMidState, void(WifiOprMidState state, int instId)); 234 MOCK_METHOD1(GetApMidState, WifiOprMidState(int id)); 235 MOCK_METHOD3(SetApMidState, bool(WifiOprMidState expState, WifiOprMidState state, int id)); 236 MOCK_METHOD2(SetApMidState, void(WifiOprMidState state, int id)); 237 MOCK_CONST_METHOD0(GetAirplaneModeState, int(void)); 238 MOCK_METHOD1(GetHotspotState, int(int id)); 239 MOCK_METHOD1(SetP2pEnhanceState, int(int state)); 240 MOCK_METHOD0(GetP2pEnhanceState, int()); 241 MOCK_METHOD1(ClearLocalHid2dInfo, void(int uid)); 242 MOCK_METHOD1(UpdateLinkedInfo, void(int instId)); 243 244 private: 245 WifiConfigCenter(); 246 std::unique_ptr<WifiScanConfig> wifiScanConfig = nullptr; 247 }; 248 } // namespace OHOS 249 } // namespace Wifi 250 #endif