removed wrong contact points & added two authors
[platform/core/location/lbs-server.git] / lbs-server / include / gps_plugin_extra_data_types.h
1 /*
2  * lbs-server
3  *
4  * Copyright (c) 2011-2013 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 #ifndef _GPS_PLUGIN_EXTRA_DATA_TYPES_H_
20 #define _GPS_PLUGIN_EXTRA_DATA_TYPES_H_
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 /**
27  * This enumeration has GPS session type.
28  */
29 typedef enum {
30         GPS_SESSION_SINGLE_FIX = 0,     /**< Single fix starting */
31         GPS_SESSION_TRACKING_MODE       /**< Tracking mode starting */
32 } gps_session_t;
33
34 /**
35  * This enumeration has GPS operation mode.
36  */
37 typedef enum {
38         GPS_OPERATION_STANDALONE = 0,   /**< GPS standalone (no assistance) */
39         GPS_OPERATION_MS_BASED,                 /**< MS-Based AGPS */
40         GPS_OPERATION_MS_ASSISTED               /**< MS-Assisted AGPS */
41 } gps_operation_t;
42
43 /**
44  * This enumeration has GPS starting type.
45  */
46 typedef enum {
47         GPS_STARTING_HOT_ = 0,  /**< Hot start */
48         GPS_STARTING_COLD,              /**< Cold start */
49         GPS_STARTING_NONE               /**< None */
50 } gps_starting_t;
51
52 /**
53  * This enumeration has the SSL mode.
54  */
55 typedef enum {
56         AGPS_SSL_DISABLE = 0,   /**< SSL disable */
57         AGPS_SSL_ENABLE                 /**< SSL enable */
58 } agps_ssl_mode_t;
59
60 /**
61  * This enumeration has the SSL certification type.
62  */
63 typedef enum {
64         AGPS_CERT_VERISIGN = 0,
65         AGPS_CERT_THAWTE,
66         AGPS_CERT_CMCC,
67         AGPS_CERT_SPIRENT_TEST,
68         AGPS_CERT_THALES_TEST,
69         AGPS_CERT_CMCC_TEST,
70         AGPS_CERT_BMC_TEST,
71         AGPS_CERT_GOOGLE
72 } agps_ssl_cert_type_t;
73
74 /**
75  * This enumeration has the verification confirm type.
76  */
77 typedef enum {
78         AGPS_VER_CNF_YES = 0x00,                /**< Specifies Confirmation yes. */
79         AGPS_VER_CNF_NO = 0x01,                 /**< Specifies Confirmation no. */
80         AGPS_VER_CNF_NORESPONSE = 0x02  /**< Specifies Confirmation no response. */
81 } agps_verification_cnf_type_t;
82
83 /**
84  * This enumeration has the zone in/out type.
85  */
86 typedef enum {
87         GEOFENCE_ZONE_OUT = 0x00,
88         GEOFENCE_ZONE_IN = 0x01,
89         GEOFENCE_ZONE_UNCERTAIN = 0x02
90 } geofence_zone_state_t;
91
92 /**
93  * This structure is used to get the Extra Fix request parameters.
94  */
95 typedef struct {
96         int accuracy;                   /**< accuracy */
97         int tbf;                                /**< time between fixes */
98         int num_fixes;                  /**< num fixes */
99         unsigned char timeout;  /**< session timeout */
100 } gps_qos_param_t;
101
102 #ifdef __cplusplus
103 }
104 #endif
105
106 #endif /* _GPS_PLUGIN_EXTRA_DATA_TYPES_H_ */