AP业务功能主要包括开启、关闭、设置热点配置以及连接设备管理(连接状态通知,黑名单管理)
-
AP业务主要接口
接口文件:
wifi/interfaces/innerkits/native_cpp/wifi_standard/include/wifi_hotspot.h
接口名称 接口描述 ErrCode EnableHotspot(); 开启AP ErrCode DisableHotspot(); 关闭AP ErrCode GetHotspotState(int &state); 获取当前AP状态 ErrCode SetHotspotConfig(const HotspotConfig &config); 设置AP配置 ErrCode GetHotspotConfig(HotspotConfig &config); 获取AP配置 ErrCode GetStationList(std::vector<StationInfo> &result); 获取已连接设备 ErrCode DisassociateSta(const StationInfo &info); 断开某个设备连接 ErrCode GetBlockLists(std::vector<\StationInfo> &infos); 获取当前黑名单列表 ErrCode AddBlockList(const StationInfo &info); 添加黑名单 ErrCode DelBlockList(const StationInfo &info); 删除黑名单 -
AP业务流转总览
-
以开启AP为例分析流程
a. ap stub
wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_service_impl.cpp
处理逻辑:- 首先判断用户权限是否允许开启AP
- 当前设备状态如飞行模式、电量低不允许开启AP
- 判断当前AP状态,为了控制并发请求,在ap开启过程中都不在接收其他开启请求
- 动态加载ap能力,也即
libwifi_ap_service.so
。加载之后注册回调函数,作用为ap状态变更通知,设备连接状态变更通知等 - 最后调用ap内函数
EnableHotspot
b. ap service
wifi/services