1094332d3Sopenharmony_ci/* 2094332d3Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 3094332d3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4094332d3Sopenharmony_ci * you may not use this file except in compliance with the License. 5094332d3Sopenharmony_ci * You may obtain a copy of the License at 6094332d3Sopenharmony_ci * 7094332d3Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8094332d3Sopenharmony_ci * 9094332d3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10094332d3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11094332d3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12094332d3Sopenharmony_ci * See the License for the specific language governing permissions and 13094332d3Sopenharmony_ci * limitations under the License. 14094332d3Sopenharmony_ci */ 15094332d3Sopenharmony_ci 16094332d3Sopenharmony_ci#include "wifi_ext_iface.h" 17094332d3Sopenharmony_ci#include <hdf_log.h> 18094332d3Sopenharmony_ci 19094332d3Sopenharmony_cinamespace OHOS { 20094332d3Sopenharmony_cinamespace HDI { 21094332d3Sopenharmony_cinamespace Wlan { 22094332d3Sopenharmony_cinamespace Chip { 23094332d3Sopenharmony_cinamespace V1_0 { 24094332d3Sopenharmony_ciWifiExtIface::WifiExtIface( 25094332d3Sopenharmony_ci const std::string& ifName, 26094332d3Sopenharmony_ci const std::weak_ptr<WifiVendorHal> vendorHal, 27094332d3Sopenharmony_ci const std::weak_ptr<IfaceUtil> ifaceUtil) 28094332d3Sopenharmony_ci : ifName_(ifName), 29094332d3Sopenharmony_ci vendorHal_(vendorHal), 30094332d3Sopenharmony_ci ifaceUtil_(ifaceUtil), 31094332d3Sopenharmony_ci isValid_(true) {} 32094332d3Sopenharmony_ci 33094332d3Sopenharmony_civoid WifiExtIface::Invalidate() 34094332d3Sopenharmony_ci{ 35094332d3Sopenharmony_ci vendorHal_.reset(); 36094332d3Sopenharmony_ci isValid_ = false; 37094332d3Sopenharmony_ci} 38094332d3Sopenharmony_ci 39094332d3Sopenharmony_cibool WifiExtIface::IsValid() 40094332d3Sopenharmony_ci{ 41094332d3Sopenharmony_ci return isValid_; 42094332d3Sopenharmony_ci} 43094332d3Sopenharmony_ci 44094332d3Sopenharmony_cistd::string WifiExtIface::GetName() 45094332d3Sopenharmony_ci{ 46094332d3Sopenharmony_ci return ifName_; 47094332d3Sopenharmony_ci} 48094332d3Sopenharmony_ci 49094332d3Sopenharmony_ciint32_t WifiExtIface::GetIfaceType(IfaceType& type) 50094332d3Sopenharmony_ci{ 51094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 52094332d3Sopenharmony_ci} 53094332d3Sopenharmony_ci 54094332d3Sopenharmony_ciint32_t WifiExtIface::GetIfaceName(std::string& name) 55094332d3Sopenharmony_ci{ 56094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 57094332d3Sopenharmony_ci} 58094332d3Sopenharmony_ci 59094332d3Sopenharmony_ciint32_t WifiExtIface::GetSupportFreqs(int band, std::vector<uint32_t>& frequencies) 60094332d3Sopenharmony_ci{ 61094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 62094332d3Sopenharmony_ci} 63094332d3Sopenharmony_ci 64094332d3Sopenharmony_ciint32_t WifiExtIface::GetIfaceCap(uint32_t& capabilities) 65094332d3Sopenharmony_ci{ 66094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 67094332d3Sopenharmony_ci} 68094332d3Sopenharmony_ci 69094332d3Sopenharmony_ciint32_t WifiExtIface::SetMacAddress(const std::string& mac) 70094332d3Sopenharmony_ci{ 71094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 72094332d3Sopenharmony_ci} 73094332d3Sopenharmony_ci 74094332d3Sopenharmony_ciint32_t WifiExtIface::SetCountryCode(const std::string& code) 75094332d3Sopenharmony_ci{ 76094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 77094332d3Sopenharmony_ci} 78094332d3Sopenharmony_ci 79094332d3Sopenharmony_ciint32_t WifiExtIface::GetPowerMode(int32_t& powerMode) 80094332d3Sopenharmony_ci{ 81094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 82094332d3Sopenharmony_ci} 83094332d3Sopenharmony_ci 84094332d3Sopenharmony_ciint32_t WifiExtIface::SetPowerMode(int32_t powerMode) 85094332d3Sopenharmony_ci{ 86094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 87094332d3Sopenharmony_ci} 88094332d3Sopenharmony_ci 89094332d3Sopenharmony_ciint32_t WifiExtIface::RegisterChipIfaceCallBack(const sptr<IChipIfaceCallback>& chipIfaceCallback) 90094332d3Sopenharmony_ci{ 91094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 92094332d3Sopenharmony_ci} 93094332d3Sopenharmony_ci 94094332d3Sopenharmony_ciint32_t WifiExtIface::UnRegisterChipIfaceCallBack(const sptr<IChipIfaceCallback>& chipIfaceCallback) 95094332d3Sopenharmony_ci{ 96094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 97094332d3Sopenharmony_ci} 98094332d3Sopenharmony_ci 99094332d3Sopenharmony_ciint32_t WifiExtIface::StartScan(const ScanParams& scanParam) 100094332d3Sopenharmony_ci{ 101094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 102094332d3Sopenharmony_ci} 103094332d3Sopenharmony_ci 104094332d3Sopenharmony_ciint32_t WifiExtIface::GetScanInfos(std::vector<ScanResultsInfo>& scanResultsInfo) 105094332d3Sopenharmony_ci{ 106094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 107094332d3Sopenharmony_ci} 108094332d3Sopenharmony_ci 109094332d3Sopenharmony_ciint32_t WifiExtIface::StartPnoScan(const PnoScanParams& pnoParams) 110094332d3Sopenharmony_ci{ 111094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 112094332d3Sopenharmony_ci} 113094332d3Sopenharmony_ci 114094332d3Sopenharmony_ciint32_t WifiExtIface::StopPnoScan() 115094332d3Sopenharmony_ci{ 116094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 117094332d3Sopenharmony_ci} 118094332d3Sopenharmony_ci 119094332d3Sopenharmony_ciint32_t WifiExtIface::GetSignalPollInfo(SignalPollResult& signalPollResult) 120094332d3Sopenharmony_ci{ 121094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 122094332d3Sopenharmony_ci} 123094332d3Sopenharmony_ci 124094332d3Sopenharmony_ciint32_t WifiExtIface::EnablePowerMode(int32_t mode) 125094332d3Sopenharmony_ci{ 126094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 127094332d3Sopenharmony_ci} 128094332d3Sopenharmony_ci 129094332d3Sopenharmony_ciint32_t WifiExtIface::SetDpiMarkRule(int32_t uid, int32_t protocol, int32_t enable) 130094332d3Sopenharmony_ci{ 131094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 132094332d3Sopenharmony_ci} 133094332d3Sopenharmony_ci 134094332d3Sopenharmony_ciint32_t WifiExtIface::SetTxPower(int32_t power) 135094332d3Sopenharmony_ci{ 136094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 137094332d3Sopenharmony_ci} 138094332d3Sopenharmony_ci 139094332d3Sopenharmony_ciint32_t WifiExtIface::SetIfaceState(bool state) 140094332d3Sopenharmony_ci{ 141094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 142094332d3Sopenharmony_ci} 143094332d3Sopenharmony_ci 144094332d3Sopenharmony_ciint32_t WifiExtIface::SendCmdToDriver(const std::string& ifName, int32_t cmdId, const std::vector<int8_t>& paramBuf) 145094332d3Sopenharmony_ci{ 146094332d3Sopenharmony_ci WifiError status = vendorHal_.lock()->SendCmdToDriver(ifName, cmdId, paramBuf); 147094332d3Sopenharmony_ci if (status == HAL_SUCCESS) { 148094332d3Sopenharmony_ci return HDF_SUCCESS; 149094332d3Sopenharmony_ci } 150094332d3Sopenharmony_ci return HDF_FAILURE; 151094332d3Sopenharmony_ci} 152094332d3Sopenharmony_ci 153094332d3Sopenharmony_ciint32_t WifiExtIface::SendActionFrame(const std::string& ifName, uint32_t freq, const std::vector<uint8_t>& frameData) 154094332d3Sopenharmony_ci{ 155094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 156094332d3Sopenharmony_ci} 157094332d3Sopenharmony_ci 158094332d3Sopenharmony_ciint32_t WifiExtIface::RegisterActionFrameReceiver(const std::string& ifName, const std::vector<uint8_t>& match) 159094332d3Sopenharmony_ci{ 160094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 161094332d3Sopenharmony_ci} 162094332d3Sopenharmony_ci 163094332d3Sopenharmony_ciint32_t WifiExtIface::GetCoexictenceChannelList(const std::string& ifName, std::vector<uint8_t>& paramBuf) 164094332d3Sopenharmony_ci{ 165094332d3Sopenharmony_ci return HDF_ERR_NOT_SUPPORT; 166094332d3Sopenharmony_ci} 167094332d3Sopenharmony_ci 168094332d3Sopenharmony_ci} 169094332d3Sopenharmony_ci} 170094332d3Sopenharmony_ci} 171094332d3Sopenharmony_ci} 172094332d3Sopenharmony_ci}