4 * Copyright (c) 2010-2013 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Youngae Kang <youngae.kang@samsung.com>, Minjune Kim <sena06.kim@samsung.com>
7 * Genie Kim <daejins.kim@samsung.com>
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
22 #ifndef __LOCATION_TYPES_H__
23 #define __LOCATION_TYPES_H__
26 #include <glib-object.h>
31 * @file location-types.h
32 * @brief This file contains the Location related structure, enumeration, and asynchronous function definitions.
33 * @addtogroup LocationFW
35 * @defgroup LocationTypes Location Types
36 * @brief This sub module provides structure, enumeration, and asynchronous function definitions.
37 * @addtogroup LocationTypes
42 * @brief This represents the returned error code of used functions.
45 LOCATION_ERROR_NONE = 0, ///< Success.
46 LOCATION_ERROR_NOT_ALLOWED, ///< Location servie is not allowed.
47 LOCATION_ERROR_NOT_AVAILABLE, ///< Location service is not available.
48 LOCATION_ERROR_NETWORK_FAILED, ///< Network is not available.
49 LOCATION_ERROR_NETWORK_NOT_CONNECTED, ///< Network is not connected.
50 LOCATION_ERROR_CONFIGURATION, ///< Configuration setting is not correct.
51 LOCATION_ERROR_PARAMETER, ///< Input parameter is not correct.
52 LOCATION_ERROR_NOT_FOUND, ///< Output is not found.
53 LOCATION_ERROR_NOT_SUPPORTED, ///< Not supported.
54 LOCATION_ERROR_UNKNOWN, ///< Unknown error.
55 LOCATION_ERROR_SETTING_OFF, ///< Location setting(GPS/WPS) is off
56 LOCATION_ERROR_SECURITY_DENIED, ///< system disables location service.
60 * @brief This represents location method to be used.
64 LOCATION_METHOD_NONE = -1, ///< Undefined method.
65 LOCATION_METHOD_HYBRID = 0, ///< This method selects best method.
66 LOCATION_METHOD_GPS, ///< This method uses Global Positioning System.
67 LOCATION_METHOD_WPS, ///< This method uses Wifi Positioning System.
68 LOCATION_METHOD_CPS, ///< This method uses cell ID of base station.
72 * @brief This represents the update type given by signal callback.
75 UPDATE_TYPE_NONE = -1, ///< Undefined update type.
76 POSITION_UPDATED = 0, ///< This type is used when position information is updated.
77 VELOCITY_UPDATED, ///< This type is used when velocity information is updated.
78 SATELLITE_UPDATED, ///< This type is used when satellite information is updated.
82 * @brief This represents the state whether an application is able to use location service
85 LOCATION_ACCESS_NONE, ///< An application is not registered.
86 LOCATION_ACCESS_DENIED, ///< An application is not permited to use location service.
87 LOCATION_ACCESS_ALLOWED, ///< An application is able to use location service.
88 } LocationAccessState;
91 * @brief Location object redefined by GObject.
93 typedef GObject LocationObject;
96 * @brief This represents position information such as latitude-longitude-altitude values and timestamp.
98 typedef struct _LocationPosition LocationPosition;
101 * @brief This represents last known position information such as latitude-longitude values and accuracy. \n
102 * This would be deprecated soon.
104 typedef struct _LocationLastPosition LocationLastPosition;
107 * @brief This represents position information such as number of satellites in used or in view.
109 typedef struct _LocationSatellite LocationSatellite;
112 * @brief This represents velocity information such as as speed, direction, climb.
114 typedef struct _LocationVelocity LocationVelocity;
117 * @brief This represents location accuracy information such as accuracy level, horizontal and vertical accuracy.
119 typedef struct _LocationAccuracy LocationAccuracy;
122 * @brief This represents boundary information such as rectangular or circle area.
124 typedef struct _LocationBoundary LocationBoundary;
132 #endif /* __LOCATION_TYPES_H__ */