1# ICellfenceInterface
2
3
4## 概述
5
6定义对基站围栏模块进行基本操作的接口。
7
8接口包含注册回调函数,取消注册回调函数,添加基站围栏,删除基站围栏和获取基站围栏使用信息。
9
10**起始版本:** 4.0
11
12**相关模块:**[HdiLpfenceCellfence](_hdi_lpfence_cellfence.md)
13
14
15## 汇总
16
17
18### Public 成员函数
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [RegisterCellfenceCallback](#registercellfencecallback) ([in] [ICellfenceCallback](interface_i_cellfence_callback.md) callbackObj) | 注册回调函数。 |
23| [UnregisterCellfenceCallback](#unregistercellfencecallback) ([in] [ICellfenceCallback](interface_i_cellfence_callback.md) callbackObj) | 取消注册回调函数。 |
24| [AddCellfences](#addcellfences) ([in] struct [CellfenceRequest](_cellfence_request.md)[] cellfence) | 添加基站围栏。 |
25| [RemoveCellfences](#removecellfences) ([in] int[] cellfenceId) | 删除基站围栏。 |
26| [GetCellfenceSize](#getcellfencesize) () | 获取基站围栏使用信息。 |
27
28
29## 成员函数说明
30
31
32### AddCellfences()
33
34```
35ICellfenceInterface::AddCellfences ([in] struct CellfenceRequest[] cellfence)
36```
37
38**描述**
39
40
41添加基站围栏。
42
43支持一次添加多个基站围栏,一个基站围栏包含多个基站信息。
44
45**起始版本:** 4.0
46
47**参数:**
48
49| 名称 | 描述 |
50| -------- | -------- |
51| cellfence | 添加的基站围栏信息。详见[CellfenceRequest](_cellfence_request.md)。 |
52
53**返回:**
54
55如果添加成功,则返回0。
56
57如果添加失败,则返回负值。
58
59
60### GetCellfenceSize()
61
62```
63ICellfenceInterface::GetCellfenceSize ()
64```
65
66**描述**
67
68
69获取基站围栏使用信息
70
71查看当前设备支持添加的基站围栏最大个数和已添加的基站围栏个数。通过回调函数上报通知,详见[OnGetCellfenceSizeCb](interface_i_cellfence_callback.md#ongetcellfencesizecb)。
72
73**起始版本:** 4.0
74
75**返回:**
76
77如果调用成功,则返回0。
78
79如果调用失败,则返回负值。
80
81
82### RegisterCellfenceCallback()
83
84```
85ICellfenceInterface::RegisterCellfenceCallback ([in] ICellfenceCallback callbackObj)
86```
87
88**描述**
89
90
91注册回调函数。
92
93用户在开启基站围栏功能前,需要先注册该回调函数。当基站围栏状态发生变化时,会通过回调函数进行上报。
94
95**起始版本:** 4.0
96
97**参数:**
98
99| 名称 | 描述 |
100| -------- | -------- |
101| callbackObj | 要注册的回调函数,只需成功订阅一次,无需重复订阅。详见[ICellfenceCallback](interface_i_cellfence_callback.md)。 |
102
103**返回:**
104
105如果注册回调函数成功,则返回0。
106
107如果注册回调函数失败,则返回负值。
108
109
110### RemoveCellfences()
111
112```
113ICellfenceInterface::RemoveCellfences ([in] int[] cellfenceId)
114```
115
116**描述**
117
118
119删除基站围栏。
120
121支持一次删除多个基站围栏。
122
123**起始版本:** 4.0
124
125**参数:**
126
127| 名称 | 描述 |
128| -------- | -------- |
129| cellfenceId | 基站围栏ID号。详见[CellfenceRequest](_cellfence_request.md)。 |
130
131**返回:**
132
133如果删除成功,则返回0。
134
135如果删除失败,则返回负值。
136
137
138### UnregisterCellfenceCallback()
139
140```
141ICellfenceInterface::UnregisterCellfenceCallback ([in] ICellfenceCallback callbackObj)
142```
143
144**描述**
145
146
147取消注册回调函数。
148
149取消之前注册的回调函数。当不需要使用基站围栏功能,或需要更换回调函数时,需要取消注册回调函数。
150
151**起始版本:** 4.0
152
153**参数:**
154
155| 名称 | 描述 |
156| -------- | -------- |
157| callbackObj | 要取消注册的回调函数,只需成功取消订阅一次,无需重复取消订阅。详见[ICellfenceCallback](interface_i_cellfence_callback.md)。 |
158
159**返回:**
160
161如果取消注册回调函数成功,则返回0。
162
163如果取消注册回调函数失败,则返回负值。
164