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