add user_data parameter to internal callback code
[platform/core/api/system-settings.git] / include / system_settings_private.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17
18 #ifndef __TIZEN_SYSTEM_SETTING_PRIVATE_H__
19 #define __TIZEN_SYSTEM_SETTING_PRIVATE_H__
20
21 #ifdef __cplusplus
22 extern "C"
23 {
24 #endif
25
26 #include <dlog.h>
27
28 #ifdef LOG_TAG
29 #undef LOG_TAG
30 #endif
31
32 #define LOG_TAG "SYSTEM-SETTINGS"
33
34 #define SYSTEM_SETTINGS_ENABLE_TRACE
35
36 #ifdef SYSTEM_SETTINGS_ENABLE_TRACE
37
38         #define SETTING_TRACE_DEBUG(fmt, arg...) \
39                 do {\
40                         LOGD("\n\033[0;32mDEBUG: " fmt "\033[0m\t%s:%d\n", \
41         ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
42                 }while(0);
43
44         #define SETTING_TRACE(fmt, arg...) \
45                 do {\
46                         LOGI("\n\033[0;36m" fmt "\033[0m\t%s:%d\n", \
47         ##arg, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
48                 }while(0);
49
50         #define SETTING_TRACE_BEGIN do {\
51                 {\
52                         printf("\n[SETTING]\033[0;35mENTER FUNCTION: %s. \033[0m\t%s:%d\n", \
53                                         __FUNCTION__, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
54                 }\
55         }while(0);
56
57         #define SETTING_TRACE_END  do {\
58                 {\
59                         printf("\n[SETTING]\033[0;35mEXIT FUNCTION: %s. \033[0m\t%s:%d\n", \
60                                         __FUNCTION__, (char*)(strrchr(__FILE__, '/')+1), __LINE__);\
61                 }\
62         }while(0);
63
64 #else
65         #define SETTING_TRACE_DEBUG(fmt, arg...)
66         #define SETTING_TRACE(fmt, arg...)
67     #define SETTING_TRACE_BEGIN
68     #define SETTING_TRACE_END
69 #endif
70
71
72 #define VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_NAME  "db/setting/accessibility/font_name"
73
74 typedef enum {
75         SYSTEM_SETTING_DATA_TYPE_STRING,
76         SYSTEM_SETTING_DATA_TYPE_INT,
77         SYSTEM_SETTING_DATA_TYPE_DOUBLE,
78         SYSTEM_SETTING_DATA_TYPE_BOOL,
79 } system_setting_data_type_e;
80
81
82 typedef int (*system_setting_get_value_cb) (system_settings_key_e key, system_setting_data_type_e data_type, void** value);
83 typedef int (*system_setting_set_value_cb) (system_settings_key_e key, system_setting_data_type_e data_type, void* value);
84
85 typedef int (*system_setting_set_changed_callback_cb)(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
86 typedef int (*system_setting_unset_changed_callback_cb)(system_settings_key_e key);
87
88
89 typedef struct {
90         system_settings_key_e key;                                                                              /* key */
91         system_setting_data_type_e data_type;
92         system_setting_get_value_cb get_value_cb;                                               /* get value */
93         system_setting_set_value_cb set_value_cb;                                               /* set value */
94
95         system_setting_set_changed_callback_cb set_changed_cb;
96         system_setting_unset_changed_callback_cb unset_changed_cb ;
97
98         system_settings_changed_cb changed_cb;                                                  /* registered by user application */
99         void* user_data;                                                                                                /* user_data */
100
101 } system_setting_s;
102
103 typedef system_setting_s* system_setting_h;
104
105
106 int system_settings_get_item(system_settings_key_e key, system_setting_h *item);
107
108
109 // get
110 int system_setting_vconf_get_value_int(const char *vconf_key, int *value);
111 int system_setting_vconf_get_value_bool(const char *vconf_key, bool *value);
112 int system_setting_vconf_get_value_double(const char *vconf_key, double *value);
113 int system_setting_vconf_get_value_string(const char *vconf_key, char **value);
114
115 // set
116 int system_setting_vconf_set_value_int(const char *vconf_key, int value);
117 int system_setting_vconf_set_value_bool(const char *vconf_key, bool value);
118 int system_setting_vconf_set_value_double(const char *vconf_key, double value);
119 int system_setting_vconf_set_value_string(const char *vconf_key, char *value);
120
121
122 int system_setting_vconf_set_changed_cb(const char *vconf_key, system_settings_key_e key, int slot, void* user_data);
123 int system_setting_vconf_unset_changed_cb(const char *vconf_key, int slot);
124
125 int system_setting_get_incoming_call_ringtone(system_settings_key_e key, system_setting_data_type_e data_type, void** value);
126 int system_setting_get_email_alert_ringtone(system_settings_key_e key, system_setting_data_type_e data_type, void** value);
127 int system_setting_get_wallpaper_home_screen(system_settings_key_e key, system_setting_data_type_e data_type, void** value);
128 int system_setting_get_wallpaper_lock_screen(system_settings_key_e key, system_setting_data_type_e data_type, void** value);
129 int system_setting_get_font_size(system_settings_key_e key, system_setting_data_type_e data_type, void** value);
130 int system_setting_get_font_type(system_settings_key_e key, system_setting_data_type_e data_type, void** value);
131 int system_setting_get_motion_activation(system_settings_key_e key, system_setting_data_type_e data_type, void** value);
132 int system_setting_get_usb_debugging_option(system_settings_key_e key, system_setting_data_type_e data_type, void** value);
133 int system_setting_get_3g_data_network(system_settings_key_e key, system_setting_data_type_e data_type, void** value);
134
135 int system_setting_set_incoming_call_ringtone(system_settings_key_e key, system_setting_data_type_e data_type, void* value);
136 int system_setting_set_email_alert_ringtone(system_settings_key_e key, system_setting_data_type_e data_type, void* value);
137 int system_setting_set_wallpaper_home_screen(system_settings_key_e key, system_setting_data_type_e data_type, void* value);
138 int system_setting_set_wallpaper_lock_screen(system_settings_key_e key, system_setting_data_type_e data_type, void* value);
139 int system_setting_set_font_size(system_settings_key_e key, system_setting_data_type_e data_type, void* value);
140 int system_setting_set_font_type(system_settings_key_e key, system_setting_data_type_e data_type, void* value);
141 int system_setting_set_motion_activation(system_settings_key_e key, system_setting_data_type_e data_type, void* value);
142 int system_setting_set_usb_debugging_option(system_settings_key_e key, system_setting_data_type_e data_type, void* value);
143 int system_setting_set_3g_data_network(system_settings_key_e key, system_setting_data_type_e data_type, void* value);
144
145 int system_setting_set_changed_callback_incoming_call_ringtone(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
146 int system_setting_unset_changed_callback_incoming_call_ringtone(system_settings_key_e key);
147
148 int system_setting_set_changed_callback_email_alert_ringtone(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
149 int system_setting_unset_changed_callback_email_alert_ringtone(system_settings_key_e key);
150
151 int system_setting_set_changed_callback_wallpaper_home_screen(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
152 int system_setting_unset_changed_callback_wallpaper_home_screen(system_settings_key_e key);
153
154 int system_setting_set_changed_callback_wallpaper_lock_screen(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
155 int system_setting_unset_changed_callback_wallpaper_lock_screen(system_settings_key_e key);
156
157 int system_setting_set_changed_callback_font_size(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
158 int system_setting_unset_changed_callback_font_size(system_settings_key_e key);
159
160 int system_setting_set_changed_callback_font_type(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
161 int system_setting_unset_changed_callback_font_type(system_settings_key_e key);
162
163 int system_setting_set_changed_callback_motion_activation(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
164 int system_setting_unset_changed_callback_motion_activation(system_settings_key_e key);
165
166 int system_setting_set_changed_callback_usb_debugging_option(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
167 int system_setting_unset_changed_callback_usb_debugging_option(system_settings_key_e key);
168
169 int system_setting_set_changed_callback_3g_data_network(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
170 int system_setting_unset_changed_callback_3g_data_network(system_settings_key_e key);
171
172 #ifdef __cplusplus
173 }
174 #endif
175
176 #endif /* __TIZEN_SYSTEM_SETTING_PRIVATE_H__ */
177
178
179