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