tizen beta release
[framework/location/gps-manager.git] / gps-manager / gps_manager.h
1 /*
2  * gps-manager
3  *
4  * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
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>
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 _GPS_MANAGER_H_
23 #define _GPS_MANAGER_H_
24
25 #include <gps_manager_data_types.h>
26
27 /**
28  * This callback is called with position data.
29  *
30  * @param[in]   pos             Position data
31  * @param[in]   error           Error report
32  * @param[in]   user_data       User defined data
33  */
34 typedef void (*gps_pos_cb) (pos_data_t * pos, gps_error_t error, void *user_data);
35
36 /**
37  * This callback is called with satellite data.
38  *
39  * @param[in]   sv              Satellite data
40  * @param[in]   user_data       User defined data
41  */
42 typedef void (*gps_sv_cb) (sv_data_t * sv, void *user_data);
43
44 /**
45  * This callback is called with nmea.
46  *
47  * @param[in]   nmea            NMEA data
48  * @param[in]   user_data       User defined data
49  */
50 typedef void (*gps_nmea_cb) (nmea_data_t * nmea, void *user_data);
51
52 /** 
53  * GPS callback structure. 
54  */
55 struct gps_callbacks {
56         gps_pos_cb pos_cb;              /**< Callback function for reporting position data */
57         gps_sv_cb sv_cb;                /**< Callback function for reporting satellite data */
58         gps_nmea_cb nmea_cb;            /**< Callback function for reporting NMEA data */
59 };
60 typedef struct gps_callbacks gps_callbacks_t;
61
62 #endif