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**起始版本:** 4.0 45 46**参数:** 47 48| 名称 | 描述 | 49| -------- | -------- | 50| cellfence | 添加的基站围栏信息。详见[CellfenceRequest](_cellfence_request.md)。 | 51 52**返回:** 53 54如果添加成功,则返回0。 55 56如果添加失败,则返回负值。 57 58 59### GetCellfenceSize() 60 61``` 62ICellfenceInterface::GetCellfenceSize () 63``` 64 65**描述** 66 67获取基站围栏使用信息 68 69查看当前设备支持添加的基站围栏最大个数和已添加的基站围栏个数。通过回调函数上报通知,详见[OnGetCellfenceSizeCb](interface_i_cellfence_callback.md#ongetcellfencesizecb)。 70 71**起始版本:** 4.0 72 73**返回:** 74 75如果调用成功,则返回0。 76 77如果调用失败,则返回负值。 78 79 80### RegisterCellfenceCallback() 81 82``` 83ICellfenceInterface::RegisterCellfenceCallback ([in] ICellfenceCallback callbackObj) 84``` 85 86**描述** 87 88注册回调函数。 89 90用户在开启基站围栏功能前,需要先注册该回调函数。当基站围栏状态发生变化时,会通过回调函数进行上报。 91 92**起始版本:** 4.0 93 94**参数:** 95 96| 名称 | 描述 | 97| -------- | -------- | 98| callbackObj | 要注册的回调函数,只需成功订阅一次,无需重复订阅。详见[ICellfenceCallback](interface_i_cellfence_callback.md)。 | 99 100**返回:** 101 102如果注册回调函数成功,则返回0。 103 104如果注册回调函数失败,则返回负值。 105 106 107### RemoveCellfences() 108 109``` 110ICellfenceInterface::RemoveCellfences ([in] int[] cellfenceId) 111``` 112 113**描述** 114 115删除基站围栏。 116 117支持一次删除多个基站围栏。 118 119**起始版本:** 4.0 120 121**参数:** 122 123| 名称 | 描述 | 124| -------- | -------- | 125| cellfenceId | 基站围栏ID号。详见[CellfenceRequest](_cellfence_request.md)。 | 126 127**返回:** 128 129如果删除成功,则返回0。 130 131如果删除失败,则返回负值。 132 133 134### UnregisterCellfenceCallback() 135 136``` 137ICellfenceInterface::UnregisterCellfenceCallback ([in] ICellfenceCallback callbackObj) 138``` 139 140**描述** 141 142取消注册回调函数。 143 144取消之前注册的回调函数。当不需要使用基站围栏功能,或需要更换回调函数时,需要取消注册回调函数。 145 146**起始版本:** 4.0 147 148**参数:** 149 150| 名称 | 描述 | 151| -------- | -------- | 152| callbackObj | 要取消注册的回调函数,只需成功取消订阅一次,无需重复取消订阅。详见[ICellfenceCallback](interface_i_cellfence_callback.md)。 | 153 154**返回:** 155 156如果取消注册回调函数成功,则返回0。 157 158如果取消注册回调函数失败,则返回负值。 159