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