1 /* Copyright 2014 Samsung Electronics Co., Ltd All Rights Reserved
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
16 #ifndef _GEOFENCE_MANAGER_DATA_TYPES_H_
17 #define _GEOFENCE_MANAGER_DATA_TYPES_H_
21 #include <tizen_type.h>
22 #include <tizen_error.h>
28 /* Tizen Geofence Server Error */
29 #if !defined(TIZEN_ERROR_GEOFENCE_SERVER)
30 #define TIZEN_ERROR_GEOFENCE_SERVER TIZEN_ERROR_GEOFENCE_MANAGER
34 * This enumeration has geofence service status.
37 GEOFENCE_STATUS_UNABAILABLE = 0,
38 GEOFENCE_STATUS_ABAILABLE = 1,
43 * This enumeration describe the geofence fence state.
46 GEOFENCE_EMIT_STATE_UNCERTAIN = 0,
47 GEOFENCE_EMIT_STATE_IN = 1,
48 GEOFENCE_EMIT_STATE_OUT = 2,
49 } geofence_emit_state_e;
52 * This enumeration describe the geofence fence state.
55 GEOFENCE_FENCE_STATE_UNCERTAIN = -1,
56 GEOFENCE_FENCE_STATE_OUT = 0,
57 GEOFENCE_FENCE_STATE_IN = 1,
58 } geofence_fence_state_e;
61 * This enumeration describe the geofence proximity state.
64 GEOFENCE_PROXIMITY_UNCERTAIN = 0,
65 GEOFENCE_PROXIMITY_FAR,
66 GEOFENCE_PROXIMITY_NEAR,
67 GEOFENCE_PROXIMITY_IMMEDIATE,
68 } geofence_proximity_state_e;
71 GEOFENCE_PROXIMITY_PROVIDER_LOCATION = 0,
72 GEOFENCE_PROXIMITY_PROVIDER_WIFI,
73 GEOFENCE_PROXIMITY_PROVIDER_BLUETOOTH,
74 GEOFENCE_PROXIMITY_PROVIDER_BLE,
75 GEOFENCE_PROXIMITY_PROVIDER_SENSOR,
76 } geofence_proximity_provider_e;
79 * This enumeration describe the geofence state.
82 GEOFENCE_DIRECTION_BOTH = 0,
83 GEOFENCE_DIRECTION_ENTER,
84 GEOFENCE_DIRECTION_EXIT,
85 } geofence_direction_e;
88 * This enumeration has geofence service error type.
92 FENCE_ERR_NONE = 0, /** No error */
93 FENCE_ERR_SQLITE_FAIL = -100,
94 FENCE_ERR_INVALID_PARAMETER = -101,
95 FENCE_ERR_INTERNAL = -102,
96 FENCE_ERR_FENCE_ID = -103,
97 FENCE_ERR_PREPARE = -104,
98 FENCE_ERR_FENCE_TYPE = -105, /* geofence type ERROR */
99 FENCE_ERR_STRING_TRUNCATED = -106, /* String truncated */
100 FENCE_ERR_COUNT = -107, /* count <= 0 */
101 FENCE_ERR_UNKNOWN = -108
105 * @brief Enumerations of error code for Geofence manager.
109 GEOFENCE_SERVER_ERROR_NONE = TIZEN_ERROR_NONE, /**< Success */
110 GEOFENCE_SERVER_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
111 GEOFENCE_SERVER_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
112 GEOFENCE_SERVER_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< Permission denied */
113 GEOFENCE_SERVER_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< Not supported */
114 GEOFENCE_SERVER_ERROR_NOT_INITIALIZED = TIZEN_ERROR_GEOFENCE_SERVER | 0x01, /**< Geofence Manager is not initialized */
115 GEOFENCE_SERVER_ERROR_ID_NOT_EXIST = TIZEN_ERROR_GEOFENCE_SERVER | 0x02, /**< Geofence ID is not exist */
116 GEOFENCE_SERVER_ERROR_EXCEPTION = TIZEN_ERROR_GEOFENCE_SERVER | 0x03, /**< exception is occured */
117 GEOFENCE_SERVER_ERROR_ALREADY_STARTED = TIZEN_ERROR_GEOFENCE_SERVER | 0x04, /**< Geofence is already started */
118 GEOFENCE_SERVER_ERROR_TOO_MANY_GEOFENCE = TIZEN_ERROR_GEOFENCE_SERVER | 0x05, /**< Too many Geofence */
119 GEOFENCE_SERVER_ERROR_IPC = TIZEN_ERROR_GEOFENCE_SERVER | 0x06, /**< Error occured in GPS/WIFI/BT */
120 GEOFENCE_SERVER_ERROR_DATABASE = TIZEN_ERROR_GEOFENCE_SERVER | 0x07, /**< DB error occured in the server side */
121 GEOFENCE_SERVER_ERROR_PLACE_ACCESS_DENIED = TIZEN_ERROR_GEOFENCE_SERVER | 0x08, /**< Access to specified place is denied */
122 GEOFENCE_SERVER_ERROR_GEOFENCE_ACCESS_DENIED = TIZEN_ERROR_GEOFENCE_SERVER | 0x09, /**< Access to specified geofence is denied */
123 } geofence_server_error_e;
126 * This enumeration describes the geofence param state
129 GEOFENCE_MANAGE_FENCE_ADDED = 0x00,
130 GEOFENCE_MANAGE_FENCE_REMOVED,
131 GEOFENCE_MANAGE_FENCE_STARTED,
132 GEOFENCE_MANAGE_FENCE_STOPPED,
134 GEOFENCE_MANAGE_PLACE_ADDED = 0x10,
135 GEOFENCE_MANAGE_PLACE_REMOVED,
136 GEOFENCE_MANAGE_PLACE_UPDATED,
138 GEOFENCE_MANAGE_SETTING_ENABLED = 0x20,
139 GEOFENCE_MANAGE_SETTING_DISABLED
143 * This enumeration descript the Smart Assistant State
146 GEOFENCE_SMART_ASSIST_STOP = 0,
147 GEOFENCE_SMART_ASSIST_START
148 } geofence_smart_assist_state_e;
151 GEOFENCE_TYPE_GEOPOINT = 1, /**< Geofence is specified by geospatial coordinate */
152 GEOFENCE_TYPE_WIFI, /**< Geofence is specified by Wi-Fi access point */
153 GEOFENCE_TYPE_BT, /**< Geofence is specified by Blutetooth device */
157 ACCESS_TYPE_PRIVATE = 1,
165 #endif /* _GEOFENCE_MANAGER_DATA_TYPES_H_ */