1e41f4b71Sopenharmony_ci# IWififenceInterface 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci 4e41f4b71Sopenharmony_ci## 概述 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ci定义对Wi-Fi围栏模块进行基本操作的接口。 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ci接口包含注册回调函数,取消注册回调函数,添加Wi-Fi围栏,删除Wi-Fi围栏,获取Wi-Fi围栏状态,获取Wi-Fi围栏使用信息的功能。 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci**起始版本:** 4.0 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci**相关模块:**[HdiLpfenceWififence](_hdi_lpfence_wififence.md) 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci## 汇总 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci### Public 成员函数 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci| 名称 | 描述 | 21e41f4b71Sopenharmony_ci| -------- | -------- | 22e41f4b71Sopenharmony_ci| [RegisterWififenceCallback](#registerwififencecallback) ([in] [IWififenceCallback](interface_i_wififence_callback.md) callbackObj) | 注册回调函数。 | 23e41f4b71Sopenharmony_ci| [UnregisterWififenceCallback](#unregisterwififencecallback) ([in] [IWififenceCallback](interface_i_wififence_callback.md) callbackObj) | 取消注册回调函数。 | 24e41f4b71Sopenharmony_ci| [AddWififences](#addwififences) ([in] struct [WififenceRequest](_wififence_request.md)[] wififence) | 添加Wi-Fi围栏。 | 25e41f4b71Sopenharmony_ci| [RemoveWififences](#removewififences) ([in] int[] wififenceId) | 删除Wi-Fi围栏。 | 26e41f4b71Sopenharmony_ci| [GetWififenceStatus](#getwififencestatus) ([in] int wififenceId) | 获取设备与一个Wi-Fi围栏的状态关系。 | 27e41f4b71Sopenharmony_ci| [GetWififenceSize](#getwififencesize) () | 获取Wi-Fi围栏使用信息 | 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci## 成员函数说明 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci### AddWififences() 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci``` 36e41f4b71Sopenharmony_ciIWififenceInterface::AddWififences ([in] struct WififenceRequest[] wififence) 37e41f4b71Sopenharmony_ci``` 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci**描述** 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci添加Wi-Fi围栏。 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ci支持一次添加多个Wi-Fi围栏,一个Wi-Fi围栏包含多组MAC地址信息。 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci**起始版本:** 4.0 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci**参数:** 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci| 名称 | 描述 | 51e41f4b71Sopenharmony_ci| -------- | -------- | 52e41f4b71Sopenharmony_ci| wififence | 添加的Wi-Fi围栏信息。详见[WififenceRequest](_wififence_request.md)。 | 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci**返回:** 55e41f4b71Sopenharmony_ci 56e41f4b71Sopenharmony_ci如果添加成功,则返回0。 57e41f4b71Sopenharmony_ci 58e41f4b71Sopenharmony_ci如果添加失败,则返回负值。 59e41f4b71Sopenharmony_ci 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ci### GetWififenceSize() 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci``` 64e41f4b71Sopenharmony_ciIWififenceInterface::GetWififenceSize () 65e41f4b71Sopenharmony_ci``` 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_ci**描述** 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ci获取Wi-Fi围栏使用信息 71e41f4b71Sopenharmony_ci 72e41f4b71Sopenharmony_ci查看当前设备支持添加的Wi-Fi围栏最大个数和已添加的Wi-Fi围栏个数。通过回调函数上报通知,详见[OnGetWififenceSizeCb](interface_i_wififence_callback.md#ongetwififencesizecb)。 73e41f4b71Sopenharmony_ci 74e41f4b71Sopenharmony_ci**起始版本:** 4.0 75e41f4b71Sopenharmony_ci 76e41f4b71Sopenharmony_ci**返回:** 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ci如果调用成功,则返回0。 79e41f4b71Sopenharmony_ci 80e41f4b71Sopenharmony_ci如果调用失败,则返回负值。 81e41f4b71Sopenharmony_ci 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci### GetWififenceStatus() 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci``` 86e41f4b71Sopenharmony_ciIWififenceInterface::GetWififenceStatus ([in] int wififenceId) 87e41f4b71Sopenharmony_ci``` 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ci**描述** 90e41f4b71Sopenharmony_ci 91e41f4b71Sopenharmony_ci 92e41f4b71Sopenharmony_ci获取设备与一个Wi-Fi围栏的状态关系。 93e41f4b71Sopenharmony_ci 94e41f4b71Sopenharmony_ci设备与Wi-Fi围栏的状态关系详见[WififenceTransition](_hdi_lpfence_wififence.md#wififencetransition)定义。 95e41f4b71Sopenharmony_ci 96e41f4b71Sopenharmony_ci**起始版本:** 4.0 97e41f4b71Sopenharmony_ci 98e41f4b71Sopenharmony_ci**参数:** 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci| 名称 | 描述 | 101e41f4b71Sopenharmony_ci| -------- | -------- | 102e41f4b71Sopenharmony_ci| wififenceId | Wi-Fi围栏ID号。 | 103e41f4b71Sopenharmony_ci 104e41f4b71Sopenharmony_ci**返回:** 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci返回位置关系。详见[WififenceTransition](_hdi_lpfence_wififence.md#wififencetransition)定义。 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci如果调用失败,则返回负值。 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ci 111e41f4b71Sopenharmony_ci### RegisterWififenceCallback() 112e41f4b71Sopenharmony_ci 113e41f4b71Sopenharmony_ci``` 114e41f4b71Sopenharmony_ciIWififenceInterface::RegisterWififenceCallback ([in] IWififenceCallback callbackObj) 115e41f4b71Sopenharmony_ci``` 116e41f4b71Sopenharmony_ci 117e41f4b71Sopenharmony_ci**描述** 118e41f4b71Sopenharmony_ci 119e41f4b71Sopenharmony_ci 120e41f4b71Sopenharmony_ci注册回调函数。 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci用户在开启Wi-Fi围栏功能前,需要先注册该回调函数。当Wi-Fi围栏状态发生变化时,会通过回调函数进行上报。 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_ci**起始版本:** 4.0 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ci**参数:** 127e41f4b71Sopenharmony_ci 128e41f4b71Sopenharmony_ci| 名称 | 描述 | 129e41f4b71Sopenharmony_ci| -------- | -------- | 130e41f4b71Sopenharmony_ci| callbackObj | 要注册的回调函数,只需成功订阅一次,无需重复订阅。详见[IWififenceCallback](interface_i_wififence_callback.md)。 | 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_ci**返回:** 133e41f4b71Sopenharmony_ci 134e41f4b71Sopenharmony_ci如果注册回调函数成功,则返回0。 135e41f4b71Sopenharmony_ci 136e41f4b71Sopenharmony_ci如果注册回调函数失败,则返回负值。 137e41f4b71Sopenharmony_ci 138e41f4b71Sopenharmony_ci 139e41f4b71Sopenharmony_ci### RemoveWififences() 140e41f4b71Sopenharmony_ci 141e41f4b71Sopenharmony_ci``` 142e41f4b71Sopenharmony_ciIWififenceInterface::RemoveWififences ([in] int[] wififenceId) 143e41f4b71Sopenharmony_ci``` 144e41f4b71Sopenharmony_ci 145e41f4b71Sopenharmony_ci**描述** 146e41f4b71Sopenharmony_ci 147e41f4b71Sopenharmony_ci 148e41f4b71Sopenharmony_ci删除Wi-Fi围栏。 149e41f4b71Sopenharmony_ci 150e41f4b71Sopenharmony_ci支持一次删除多个Wi-Fi围栏。 151e41f4b71Sopenharmony_ci 152e41f4b71Sopenharmony_ci**起始版本:** 4.0 153e41f4b71Sopenharmony_ci 154e41f4b71Sopenharmony_ci**参数:** 155e41f4b71Sopenharmony_ci 156e41f4b71Sopenharmony_ci| 名称 | 描述 | 157e41f4b71Sopenharmony_ci| -------- | -------- | 158e41f4b71Sopenharmony_ci| wififenceId | Wi-Fi围栏ID号。详见[WififenceRequest](_wififence_request.md)。 | 159e41f4b71Sopenharmony_ci 160e41f4b71Sopenharmony_ci**返回:** 161e41f4b71Sopenharmony_ci 162e41f4b71Sopenharmony_ci如果删除成功,则返回0。 163e41f4b71Sopenharmony_ci 164e41f4b71Sopenharmony_ci如果删除失败,则返回负值。 165e41f4b71Sopenharmony_ci 166e41f4b71Sopenharmony_ci 167e41f4b71Sopenharmony_ci### UnregisterWififenceCallback() 168e41f4b71Sopenharmony_ci 169e41f4b71Sopenharmony_ci``` 170e41f4b71Sopenharmony_ciIWififenceInterface::UnregisterWififenceCallback ([in] IWififenceCallback callbackObj) 171e41f4b71Sopenharmony_ci``` 172e41f4b71Sopenharmony_ci 173e41f4b71Sopenharmony_ci**描述** 174e41f4b71Sopenharmony_ci 175e41f4b71Sopenharmony_ci 176e41f4b71Sopenharmony_ci取消注册回调函数。 177e41f4b71Sopenharmony_ci 178e41f4b71Sopenharmony_ci取消之前注册的回调函数。当不需要使用Wi-Fi围栏功能,或需要更换回调函数时,需要取消注册回调函数。 179e41f4b71Sopenharmony_ci 180e41f4b71Sopenharmony_ci**起始版本:** 4.0 181e41f4b71Sopenharmony_ci 182e41f4b71Sopenharmony_ci**参数:** 183e41f4b71Sopenharmony_ci 184e41f4b71Sopenharmony_ci| 名称 | 描述 | 185e41f4b71Sopenharmony_ci| -------- | -------- | 186e41f4b71Sopenharmony_ci| callbackObj | 要取消注册的回调函数,只需成功取消订阅一次,无需重复取消订阅。详见[IWififenceCallback](interface_i_wififence_callback.md)。 | 187e41f4b71Sopenharmony_ci 188e41f4b71Sopenharmony_ci**返回:** 189e41f4b71Sopenharmony_ci 190e41f4b71Sopenharmony_ci如果取消注册回调函数成功,则返回0。 191e41f4b71Sopenharmony_ci 192e41f4b71Sopenharmony_ci如果取消注册回调函数失败,则返回负值。 193