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