4 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Youngae Kang <youngae.kang@samsung.com>, Yunhan Kim <yhan.kim@samsung.com>,
7 * Genie Kim <daejins.kim@samsung.com>, Minjune Kim <sena06.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_TYPE_H__
23 #define __LOCATION_TYPE_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_UNKNOWN, ///< Unknown error.
56 * @brief This represents location method to be used.
60 LOCATION_METHOD_NONE = -1, ///< Undefined method.
61 LOCATION_METHOD_HYBRID = 0, ///< This method selects best method.
62 LOCATION_METHOD_GPS, ///< This method uses Global Positioning System.
63 LOCATION_METHOD_WPS, ///< This method uses Wifi Positioning System.
64 LOCATION_METHOD_CPS, ///< This method uses cell ID of base station.
65 LOCATION_METHOD_IPS, ///< This method uses IP address.
66 LOCATION_METHOD_SPS ///< This method uses sensor.
70 * @brief This represents the update type given by signal callback.
73 UPDATE_TYPE_NONE = -1, ///< Undefined update type.
74 POSITION_UPDATED = 0, ///< This type is used when position information is updated.
75 VELOCITY_UPDATED, ///< This type is used when velocity information is updated.
76 ADDRESS_UPDATED, ///< This type is used when address information is updated. This is not implemented yet.
77 GEOCODE_UPDATED, ///< This type is used when geocode information is updated. This is not implemented yet.
78 REVERSEGEOCODE_UPDATED ///< This type is used when reverse geocode information is updated. This is not implemented yet.
82 * @brief Location object redefined by GObject.
84 typedef GObject LocationObject;
87 * @brief This represents position information such as latitude-longitude-altitude values and timestamp.
89 typedef struct _LocationPosition LocationPosition;
92 * @brief This represents last known position information such as latitude-longitud values and accuracy.
94 typedef struct _LocationLastPosition LocationLastPosition;
97 * @brief This represents velocity information such as as speed, direction, climb.
99 typedef struct _LocationVelocity LocationVelocity;
102 * @brief This represents location accuracy information such as accuracy level, horizontal and vertical accuracy.
104 typedef struct _LocationAccuracy LocationAccuracy;
107 * @brief This represents address information such as building number, street name, etc.
109 typedef struct _LocationAddress LocationAddress;
112 * @brief This represents boundary information such as rectagular or circle area.
114 typedef struct _LocationBoundary LocationBoundary;
117 * @brief This represents position information such as number of satelltes in used or in view.
119 typedef struct _LocationSatellite LocationSatellite;
122 * @brief This represents a number of POI informations.
124 typedef struct _LocationPOIInfo LocationPOIInfo;
127 * @brief This represents callback function which will be called to give postiion information.
129 typedef void (*LocationPositionCB)(LocationError error, LocationPosition *position, LocationAccuracy *acc, gpointer userdata);
132 * @brief This represents callback function which will be called to give address information.
134 typedef void (*LocationAddressCB)(LocationError error, LocationAddress *address, LocationAccuracy *acc, gpointer userdata);
137 * @brief This represents callback function which will be called to give POI information.
139 typedef void (*LocationPOICB)(LocationError error, LocationPOIInfo *poi, gpointer userdata);
147 #endif /* __LOCATION_TYPE_H__ */