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