# HdiGeofence
## 概述
定义GNSS地理围栏接口。
上层GNSS服务模块可以使用这个模块的接口来添加地理围栏,删除地理围栏,以及监视地理围栏状态的变化。
**起始版本:** 3.2
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
| [GeofenceTypes.idl](_geofence_types_8idl.md) | 定义地理围栏模块接口使用到的数据结构。 |
| [IGeofenceCallback.idl](_i_geofence_callback_8idl.md) | 定义回调函数用于上报地理围栏服务是否可用、地理围栏事件、地理围栏操作结果等。 |
| [IGeofenceInterface.idl](_i_geofence_interface_8idl.md) | 定义接口用于添加围栏,删除围栏,设置围栏回调函数等。 |
### 类
| 名称 | 描述 |
| -------- | -------- |
| struct [GeofenceInfo](_geofence_info.md) | 定义地理围栏的参数。 |
| struct [LocationInfo](_location_info.md) | 定义位置信息结构体。 |
| interface [IGeofenceCallback](interface_i_geofence_callback.md) | 定义回调函数用于上报地理围栏服务是否可用、地理围栏事件、地理围栏操作结果等。 |
| interface [IGeofenceInterface](interface_i_geofence_interface.md) | 定义接口用于添加围栏,删除围栏,设置围栏回调函数等。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [GeofenceEvent](#geofenceevent) { GEOFENCE_EVENT_UNCERTAIN = 1 , GEOFENCE_EVENT_ENTERED = 2 , GEOFENCE_EVENT_EXITED = 4 } | 定义监控的地理围栏事件类型。 |
| [GeofenceOperateResult](#geofenceoperateresult) {
OPERATION_SUCCESS = 0 , OPERATION_ERROR_UNKNOWN = -100 , OPERATION_ERROR_TOO_MANY_GEOFENCES = -101 , OPERATION_ERROR_GEOFENCE_INDEX_EXISTS = -102 , OPERATION_ERROR_PARAMS_INVALID = -103
} | 定义地理围栏操作的错误码。 |
| [GeofenceOperateType](#geofenceoperatetype) { TYPE_ADD = 1 , TYPE_DELETE = 2 } | 定义地理围栏的操作类型。 |
## 枚举类型说明
### GeofenceEvent
```
enum GeofenceEvent
```
**描述**
定义监控的地理围栏事件类型。
**起始版本:** 3.2
| 枚举值 | 描述 |
| -------- | -------- |
| GEOFENCE_EVENT_UNCERTAIN | 状态不确定 |
| GEOFENCE_EVENT_ENTERED | 进入围栏 |
| GEOFENCE_EVENT_EXITED | 退出围栏 |
### GeofenceOperateResult
```
enum GeofenceOperateResult
```
**描述**
定义地理围栏操作的错误码。
**起始版本:** 3.2
| 枚举值 | 描述 |
| -------- | -------- |
| OPERATION_SUCCESS | 操作成功 |
| OPERATION_ERROR_UNKNOWN | 未知错误 |
| OPERATION_ERROR_TOO_MANY_GEOFENCES | 围栏个数超过限制 |
| OPERATION_ERROR_GEOFENCE_INDEX_EXISTS | 围栏ID重复 |
| OPERATION_ERROR_PARAMS_INVALID | 入参错误 |
### GeofenceOperateType
```
enum GeofenceOperateType
```
**描述**
定义地理围栏的操作类型。
**起始版本:** 3.2
| 枚举值 | 描述 |
| -------- | -------- |
| TYPE_ADD | 添加围栏 |
| TYPE_DELETE | 删除围栏 |