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 42添加Wi-Fi围栏。 43 44支持一次添加多个Wi-Fi围栏,一个Wi-Fi围栏包含多组MAC地址信息。 45 46**起始版本:** 4.0 47 48**参数:** 49 50| 名称 | 描述 | 51| -------- | -------- | 52| wififence | 添加的Wi-Fi围栏信息。详见[WififenceRequest](_wififence_request.md)。 | 53 54**返回:** 55 56如果添加成功,则返回0。 57 58如果添加失败,则返回负值。 59 60 61### GetWififenceSize() 62 63``` 64IWififenceInterface::GetWififenceSize () 65``` 66 67**描述** 68 69 70获取Wi-Fi围栏使用信息 71 72查看当前设备支持添加的Wi-Fi围栏最大个数和已添加的Wi-Fi围栏个数。通过回调函数上报通知,详见[OnGetWififenceSizeCb](interface_i_wififence_callback.md#ongetwififencesizecb)。 73 74**起始版本:** 4.0 75 76**返回:** 77 78如果调用成功,则返回0。 79 80如果调用失败,则返回负值。 81 82 83### GetWififenceStatus() 84 85``` 86IWififenceInterface::GetWififenceStatus ([in] int wififenceId) 87``` 88 89**描述** 90 91 92获取设备与一个Wi-Fi围栏的状态关系。 93 94设备与Wi-Fi围栏的状态关系详见[WififenceTransition](_hdi_lpfence_wififence.md#wififencetransition)定义。 95 96**起始版本:** 4.0 97 98**参数:** 99 100| 名称 | 描述 | 101| -------- | -------- | 102| wififenceId | Wi-Fi围栏ID号。 | 103 104**返回:** 105 106返回位置关系。详见[WififenceTransition](_hdi_lpfence_wififence.md#wififencetransition)定义。 107 108如果调用失败,则返回负值。 109 110 111### RegisterWififenceCallback() 112 113``` 114IWififenceInterface::RegisterWififenceCallback ([in] IWififenceCallback callbackObj) 115``` 116 117**描述** 118 119 120注册回调函数。 121 122用户在开启Wi-Fi围栏功能前,需要先注册该回调函数。当Wi-Fi围栏状态发生变化时,会通过回调函数进行上报。 123 124**起始版本:** 4.0 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``` 142IWififenceInterface::RemoveWififences ([in] int[] wififenceId) 143``` 144 145**描述** 146 147 148删除Wi-Fi围栏。 149 150支持一次删除多个Wi-Fi围栏。 151 152**起始版本:** 4.0 153 154**参数:** 155 156| 名称 | 描述 | 157| -------- | -------- | 158| wififenceId | Wi-Fi围栏ID号。详见[WififenceRequest](_wififence_request.md)。 | 159 160**返回:** 161 162如果删除成功,则返回0。 163 164如果删除失败,则返回负值。 165 166 167### UnregisterWififenceCallback() 168 169``` 170IWififenceInterface::UnregisterWififenceCallback ([in] IWififenceCallback callbackObj) 171``` 172 173**描述** 174 175 176取消注册回调函数。 177 178取消之前注册的回调函数。当不需要使用Wi-Fi围栏功能,或需要更换回调函数时,需要取消注册回调函数。 179 180**起始版本:** 4.0 181 182**参数:** 183 184| 名称 | 描述 | 185| -------- | -------- | 186| callbackObj | 要取消注册的回调函数,只需成功取消订阅一次,无需重复取消订阅。详见[IWififenceCallback](interface_i_wififence_callback.md)。 | 187 188**返回:** 189 190如果取消注册回调函数成功,则返回0。 191 192如果取消注册回调函数失败,则返回负值。 193