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