Fix hardcoded library path in the code for 64 bit compatibility.
[platform/core/location/lbs-location.git] / location / include / location-types.h
1 /*
2  * libslp-location
3  *
4  * Copyright (c) 2010-2013 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Youngae Kang <youngae.kang@samsung.com>, Minjune Kim <sena06.kim@samsung.com>
7  *          Genie Kim <daejins.kim@samsung.com>
8  *
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
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
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.
20  */
21
22 #ifndef __LOCATION_TYPES_H__
23 #define __LOCATION_TYPES_H__
24
25 #include <glib.h>
26 #include <glib-object.h>
27
28 G_BEGIN_DECLS
29
30 /**
31  * @file location-types.h
32  * @brief This file contains the Location related structure, enumeration, and asynchronous function definitions.
33  * @addtogroup LocationFW
34  * @{
35  * @defgroup LocationTypes Location Types
36  * @brief This sub module provides structure, enumeration, and asynchronous function definitions.
37  * @addtogroup LocationTypes
38  * @{
39  */
40
41 /**
42  * @brief This represents the returned error code of used functions.
43  */
44 typedef enum {
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.
57 } LocationError;
58
59 /**
60  * @brief This represents location method to be used.
61  */
62 typedef enum
63 {
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.
69 } LocationMethod;
70
71 /**
72  * @brief This represents the update type given by signal callback.
73  */
74 typedef enum {
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.
79 } LocationUpdateType;
80
81 /**
82  * @brief This represents the state whether an application is able to use location service
83  */
84 typedef enum {
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;
89
90 /**
91  * @brief Location object redefined by GObject.
92  */
93 typedef GObject LocationObject;
94
95 /**
96  * @brief This represents position information such as latitude-longitude-altitude values and timestamp.
97  */
98 typedef struct _LocationPosition   LocationPosition;
99
100 /**
101  * @brief This represents last known position information such as latitude-longitude values and accuracy. \n
102  *              This would be deprecated soon.
103  */
104 typedef struct _LocationLastPosition   LocationLastPosition;
105
106 /**
107  * @brief This represents position information such as number of satellites in used or in view.
108  */
109 typedef struct _LocationSatellite  LocationSatellite;
110
111 /**
112  * @brief This represents velocity information such as as speed, direction, climb.
113  */
114 typedef struct _LocationVelocity   LocationVelocity;
115
116 /**
117  * @brief This represents location accuracy information such as accuracy level, horizontal and vertical accuracy.
118  */
119 typedef struct _LocationAccuracy   LocationAccuracy;
120
121 /**
122  * @brief This represents boundary information such as rectangular or circle area.
123  */
124 typedef struct _LocationBoundary   LocationBoundary;
125
126 /**
127  * @}@}
128  */
129
130 G_END_DECLS
131
132 #endif /* __LOCATION_TYPES_H__ */