Git init
[framework/location/libslp-location.git] / location / location-setting.h
1 /*
2  * libslp-location
3  *
4  * Copyright (c) 2010-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 __LOCATION_SETTING_H__
23 #define __LOCATION_SETTING_H__
24
25 #include <glib.h>
26 #include <vconf.h>
27 #include <vconf-keys.h>
28
29 /**
30  * @file location-setting.h
31  * @brief This file contains the defintions and functions for setting.
32  * @addtogroup LocationInternal
33  * @{
34  * @}
35  */
36
37 #define VCONF_LOCATION_PATH             "db/location"
38
39 #define LOCATION_POSITION_PATH          VCONF_LOCATION_PATH"/position"
40 #define LAST_TIMESTAMP                  LOCATION_POSITION_PATH"/Timestamp"
41 #define LAST_POSITION                   LOCATION_POSITION_PATH"/LastPosition"
42 #define LAST_ACCURACY                   LOCATION_POSITION_PATH"/LastAccuracy"
43
44 #define GPS_ENABLED                     VCONFKEY_LOCATION_ENABLED
45 #define LOCATION_SETTING_PATH           VCONF_LOCATION_PATH"/setting"
46 #define AGPS_ENABLED                    LOCATION_SETTING_PATH"/AgpsEnabled"
47 #define NETWORK_ENABLED                 LOCATION_SETTING_PATH"/NetworkEnabled"
48 #define SENSOR_ENABLED                  LOCATION_SETTING_PATH"/SensorEnabled"
49
50 #define LOCATION_UPDATE_INTERVAL_MIN            1
51 #define LOCATION_UPDATE_INTERVAL_MAX            120
52 #define LOCATION_UPDATE_INTERVAL_DEFAULT        LOCATION_UPDATE_INTERVAL_MIN
53
54 typedef void (*SettingCB)(keynode_t *key, gpointer data);
55
56 gint location_setting_get_key_val(keynode_t *key);
57 gint location_setting_get_int(const gchar* path);
58 gchar *location_setting_get_string(const gchar* path);
59 gint location_setting_add_notify(const gchar* path, SettingCB setting_cb, gpointer self);
60 gint location_setting_ignore_notify(const gchar* path, SettingCB setting_cb);
61
62 #define setting_retval_if_fail(path) {\
63         if(!location_setting_get_int(path)){\
64                 return LOCATION_ERROR_NOT_ALLOWED;\
65         }\
66 }
67
68 #define setting_ret_if_fail(path) {\
69         if(!location_setting_get_int(path)){\
70                 return;\
71         }\
72 }
73
74
75 #endif