2 * Copyright (c) 2011-2020 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 #ifndef __TIZEN_SYSTEM_SYSTEM_SETTINGS_H__
17 #define __TIZEN_SYSTEM_SYSTEM_SETTINGS_H__
27 * @file system_settings.h
31 * @addtogroup CAPI_SYSTEM_SYSTEM_SETTINGS_MODULE
37 * @brief Enumeration for system settings error.
41 SYSTEM_SETTINGS_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
42 SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
43 SYSTEM_SETTINGS_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
44 SYSTEM_SETTINGS_ERROR_IO_ERROR = TIZEN_ERROR_IO_ERROR, /**< Internal I/O error */
45 SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< Permission denied */
46 SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< Not supported @if MOBILE (Since 2.3.1) @endif */
47 SYSTEM_SETTINGS_ERROR_CALL_UNSUPPORTED_API = TIZEN_ERROR_NOT_SUPPORTED, /**< Not supported @if MOBILE (Since 2.3.1) @endif */
49 /* lock screen app error code */
50 SYSTEM_SETTINGS_ERROR_LOCKSCREEN_APP_PASSWORD_MODE = TIZEN_ERROR_SYSTEM_SETTING | 0x01, /**< Current lock screen app set 'password' type */
51 } system_settings_error_e;
55 * @brief Enumeration for System Settings Key.
59 SYSTEM_SETTINGS_KEY_INCOMING_CALL_RINGTONE, /**< (string) The file path of the current ringtone */
60 SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, /**< (string) The file path of the current home screen wallpaper */
61 SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, /**< (string) The file path of the current lock screen wallpaper */
62 SYSTEM_SETTINGS_KEY_FONT_SIZE, /**< (int) The current system font size */
63 SYSTEM_SETTINGS_KEY_FONT_TYPE, /**< (string) The current system font type */
64 SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, /**< (bool) Indicates whether the motion service is activated */
65 SYSTEM_SETTINGS_KEY_EMAIL_ALERT_RINGTONE, /**< (string) The file path of the current email alert ringtone */
66 SYSTEM_SETTINGS_KEY_USB_DEBUGGING_ENABLED, /**< (bool) Indicates whether the USB debugging is enabled (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
67 SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED, /**< (bool) Indicates whether the 3G data network is enabled (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
68 SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP = SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED+2, /**< (string) Indicates lockscreen app pkg name */
69 SYSTEM_SETTINGS_KEY_DEFAULT_FONT_TYPE,/**< (string) The current system default font type (only support Get) */
70 SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, /**< (string) Indicates the current country setting in the <LANGUAGE>_<REGION> syntax. The country setting is in the ISO 639-2 format, and the region setting is in the ISO 3166-1 alpha-2 format */
71 SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, /**< (string) Indicates the current language setting in the <LANGUAGE>_<REGION> syntax. The language setting is in the ISO 639-2 format and the region setting is in the ISO 3166-1 alpha-2 format. */
72 SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, /**< (bool) Indicates whether the 24-hour clock is used. If the value is @c false, the 12-hour clock is used. */
73 SYSTEM_SETTINGS_KEY_LOCALE_TIMEZONE, /**< (string) Indicates the current time zone. */
74 SYSTEM_SETTINGS_KEY_TIME_CHANGED, /**< (int) Once System changes time, this event occurs to notify time change. */
75 SYSTEM_SETTINGS_KEY_SOUND_LOCK, /**< GET (bool) Indicates whether the screen lock sound is enabled on the device. ex) LCD on/off sound */
76 SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE, /**< GET (bool) Indicates whether the device is in the silent mode. */
77 SYSTEM_SETTINGS_KEY_SOUND_TOUCH, /**< GET (bool) Indicates whether the screen touch sound is enabled on the device. */
78 SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO, /**< GET (bool) Indicates whether rotation control is automatic.*/
79 SYSTEM_SETTINGS_KEY_DEVICE_NAME, /**< GET (string) Indicates device name. */
80 SYSTEM_SETTINGS_KEY_MOTION_ENABLED, /**< GET (bool) Indicates whether the device user has enabled the motion feature. */
81 SYSTEM_SETTINGS_KEY_NETWORK_WIFI_NOTIFICATION, /**< GET (bool) Indicates whether Wi-Fi-related notifications are enabled on the device. */
82 SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE, /**< GET (bool) Indicates whether the device is in the flight mode. */
83 SYSTEM_SETTINGS_KEY_SCREEN_BACKLIGHT_TIME, /**< (int) Indicates the backlight time (in seconds). @internal The following values can be used: 15, 30, 60, 120, 300, and 600. */
84 SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION, /**< (string) Indicates the file path of the current notification tone set by the user. */
85 SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION_REPETITION_PERIOD, /**< (int) Indicates the time period for notification repetitions. */
86 SYSTEM_SETTINGS_KEY_LOCK_STATE, /**< (int) Indicates the current lock state */
87 SYSTEM_SETTINGS_KEY_ADS_ID, /**< (string) Indicates Ads ID for each device (Since 3.0) */
88 SYSTEM_SETTINGS_KEY_ULTRA_DATA_SAVE, /**< (int) Indicates Ultra Data Save status, one of #system_settings_uds_state_e values (Since 4.0) */
89 SYSTEM_SETTINGS_KEY_ULTRA_DATA_SAVE_PKG_LIST, /**< (string) Indicates Ultra Data Save Package List (Since 4.0), the list is a string containing whitelisted package names separated with semicolons (;) */
90 SYSTEM_SETTINGS_KEY_ACCESSIBILITY_TTS, /**< GET (bool) Indicates whether the accessibility TTS is enabled on the device. (Since 4.0) */
91 SYSTEM_SETTINGS_KEY_VIBRATION, /**< (bool) Indicates whether vibration is enabled on the device. (Since 4.0) */
92 SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE, /**< (bool) Indicates whether updating time automatically is enabled on the device. (Since 5.0) */
93 SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE, /**< (bool) Indicates whether developer option state is enabled on the device. (Since 5.0) */
94 SYSTEM_SETTINGS_KEY_ACCESSIBILITY_GRAYSCALE, /**< (bool) Indicates whether accessibility grayscale is enabled on the device. (Since 5.5) */
95 SYSTEM_SETTINGS_KEY_ACCESSIBILITY_NEGATIVE_COLOR, /**< (bool) Indicates whether accessibility negative color is enabled on the device. (Since 5.5) */
96 SYSTEM_SETTINGS_KEY_ROTARY_EVENT_ENABLED, /**< (bool) Indicates whether rotary event is enabled on the device. (Since 5.5) */
97 SYSTEM_SETTINGS_KEY_MAX,
98 } system_settings_key_e;
101 * @brief Enumeration for Idle Lock State.
105 SYSTEM_SETTINGS_LOCK_STATE_UNLOCK = 0, /**< Device is unlocked */
106 SYSTEM_SETTINGS_LOCK_STATE_LOCK, /**< Device is locked */
107 SYSTEM_SETTINGS_LOCK_STATE_LAUNCHING_LOCK /**< Device is being locked */
108 } system_settings_idle_lock_state_e;
112 * @brief Enumeration for font size.
116 SYSTEM_SETTINGS_FONT_SIZE_SMALL = 0, /**< A small size */
117 SYSTEM_SETTINGS_FONT_SIZE_NORMAL, /**< A normal size */
118 SYSTEM_SETTINGS_FONT_SIZE_LARGE, /**< A large size */
119 SYSTEM_SETTINGS_FONT_SIZE_HUGE, /**< A huge size */
120 SYSTEM_SETTINGS_FONT_SIZE_GIANT, /**< A giant size */
121 } system_settings_font_size_e;
124 * @brief Enumeration for Ultra Data Save.
128 SYSTEM_SETTINGS_UDS_OFF = 0, /**< OFF */
129 SYSTEM_SETTINGS_UDS_ON, /**< ON */
130 SYSTEM_SETTINGS_UDS_ON_WHITELISTED, /**< UDS on and the app is whitelisted */
131 } system_settings_uds_state_e;
136 * @brief Called when the system settings changes.
138 * @param[in] key The key name of the system settings changed system settings
139 * @param[in] user_data The user data passed from the callback registration function
140 * @pre system_settings_set_changed_cb() will invoke this callback function.
141 * @see system_settings_set_changed_cb()
142 * @see system_settings_unset_changed_cb()
144 typedef void (*system_settings_changed_cb)(system_settings_key_e key, void *user_data);
148 * @brief Sets the system settings value associated with the given key as an integer.
150 * @privlevel platform
151 * @privilege %http://tizen.org/privilege/systemsettings.admin
152 * @remarks When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
153 * @param[in] key The key name of the system settings
154 * @param[out] value The new system settings value of the given key
155 * @return @c 0 on success, otherwise a negative error value
156 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
157 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
158 * @retval #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
159 * @retval #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
160 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
162 int system_settings_set_value_int(system_settings_key_e key, int value);
165 * @brief Gets the system settings value associated with the given key as an integer.
167 * @remarks When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
168 * @param[in] key The key name of the system settings
169 * @param[out] value The current system settings value of the given key
170 * @return @c 0 on success, otherwise a negative error value
171 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
172 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
173 * @retval #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
174 * @retval #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
175 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
176 * @warning %http://tizen.org/privilege/systemsettings (public level privilege) <b>MUST NOT</b> be declared to use this function since 2.3.1.
178 int system_settings_get_value_int(system_settings_key_e key, int *value);
183 * @brief Sets the system settings value associated with the given key as a boolean.
185 * @privlevel platform
186 * @privilege %http://tizen.org/privilege/systemsettings.admin
187 * @remarks When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
188 * @param[in] key The key name of the system settings
189 * @param[out] value The new system settings value of the given key
190 * @return @c 0 on success, otherwise a negative error value
191 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
192 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
193 * @retval #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
194 * @retval #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
195 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
197 int system_settings_set_value_bool(system_settings_key_e key, bool value);
200 * @brief Gets the system settings value associated with the given key as a boolean.
202 * @remarks When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
203 * @param[in] key The key name of the system settings
204 * @param[out] value The current system settings value of the given key
205 * @return @c 0 on success, otherwise a negative error value
206 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
207 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
208 * @retval #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
209 * @retval #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
210 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
211 * @warning %http://tizen.org/privilege/systemsettings (public level privilege) <b>MUST NOT</b> be declared to use this function since 2.3.1.
213 int system_settings_get_value_bool(system_settings_key_e key, bool *value);
217 * @brief Sets the system settings value associated with the given key as a string.
219 * @privlevel platform
220 * @privilege %http://tizen.org/privilege/systemsettings.admin
221 * @remarks #SYSTEM_SETTINGS_KEY_DEFAULT_FONT_TYPE is not available for setting. When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
222 * @param[in] key The key name of the system settings
223 * @param[out] value The new system settings value of the given key
224 * @return @c 0 on success, otherwise a negative error value
225 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
226 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
227 * @retval #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
228 * @retval #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
229 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
231 int system_settings_set_value_string(system_settings_key_e key, const char *value);
234 * @brief Gets the system settings value associated with the given key as a string.
236 * @remarks You must release @a value using free(). When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
237 * @param[in] key The key name of the system settings
238 * @param[out] value The current system settings value of the given key
239 * @return 0 on success, otherwise a negative error value
240 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
241 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
242 * @retval #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
243 * @retval #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
244 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
245 * @warning %http://tizen.org/privilege/systemsettings (public level privilege) <b>MUST NOT</b> be declared to use this function since 2.3.1.
247 int system_settings_get_value_string(system_settings_key_e key, char **value);
250 * @brief Sets a change event callback for the given system settings key.
252 * @remarks #SYSTEM_SETTINGS_KEY_DEFAULT_FONT_TYPE is not available for set_changed_cb. When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
253 * @param[in] key The key name of the system settings
254 * @param[in] callback The callback function to invoke
255 * @param[in] user_data The user data to be passed to the callback function
256 * @return 0 on success, otherwise a negative error value
257 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
258 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
259 * @retval #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
260 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
261 * @post system_settings_changed_cb() will be invoked.
263 * @see system_settings_unset_changed_cb()
264 * @see system_settings_changed_cb()
265 * @warning %http://tizen.org/privilege/systemsettings (public level privilege) <b>MUST NOT</b> be declared to use this function since 2.3.1.
268 int system_settings_set_changed_cb(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
271 * @brief Unsets the callback function.
273 * @remarks #SYSTEM_SETTINGS_KEY_DEFAULT_FONT_TYPE is not available for set_changed_cb. When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
274 * @param[in] key The key name of the system settings
275 * @return 0 on success, otherwise a negative error value
276 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
277 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
278 * @retval #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
279 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
281 * @see system_settings_set_changed_cb()
282 * @warning %http://tizen.org/privilege/systemsettings (public level privilege) <b>MUST NOT</b> be declared to use this function since 2.3.1.
284 int system_settings_unset_changed_cb(system_settings_key_e key);
289 * @brief Called to get each string value from string typed list.
291 * @param[in] index zero based number indicating index of node in a list
292 * @param[in] value value returned from the list
293 * @param[in] cb_data The user data passed from the foreach function
294 * @return @c true to continue with the next iteration of the loop, otherwise false to break out of the loop
296 typedef bool (*system_settings_iter_cb)(int index, const char* value, void *cb_data);
300 * @brief Iterate the system settings value associated with the given key as a string type.
302 * @privlevel platform
303 * @privilege %http://tizen.org/privilege/systemsettings.admin
304 * @remarks When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
305 * @param[in] key The key name of the system settings
306 * @param[in] callback The callback-function name for iteration
307 * @param[in] user_data The user data passed from caller-side
308 * @return @c 0 on success, otherwise a negative error value
309 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
310 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
311 * @retval #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
312 * @retval #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
313 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
315 int system_settings_foreach_value_string(system_settings_key_e key, system_settings_iter_cb callback, void *user_data);
319 * @brief Adds the system settings value associated with the given key as a string type if it supports List iteration.
321 * @privlevel platform
322 * @privilege %http://tizen.org/privilege/systemsettings.admin
323 * @remarks When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
324 * @param[in] key The key name of the system settings
325 * @param[in] value string typed value to be appended
326 * @return @c 0 on success, otherwise a negative error value
327 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
328 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
329 * @retval #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
330 * @retval #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
331 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
333 int system_settings_add_value_string(system_settings_key_e key, const char *value);
337 * @brief Delete the system settings value associated with the given key as an string type if it supports List iteration.
339 * @privlevel platform
340 * @privilege %http://tizen.org/privilege/systemsettings.admin
341 * @remarks When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
342 * @param[in] key The key name of the system settings
343 * @param[in] value string typed value to be removed
344 * @return @c 0 on success, otherwise a negative error value
345 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
346 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
347 * @retval #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
348 * @retval #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
349 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
351 int system_settings_delete_value_string(system_settings_key_e key, const char *value);
355 * @brief Adds a change event callback for the given system settings key.
356 * @details The difference between this function and system_settings_set_changed_cb() is that system_settings_set_changed_cb() can set only one callback for a given key, while system_settings_add_changed_cb() can set multiple callbacks for a given key.
358 * @remarks The @a key cannot be #SYSTEM_SETTINGS_KEY_DEFAULT_FONT_TYPE. When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
360 * @param[in] key The key name of the system settings
361 * @param[in] callback The callback function to invoke
362 * @param[in] user_data The user data to be passed to the callback function
363 * @return 0 on success, otherwise a negative error value
364 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
365 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
366 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
367 * @post system_settings_changed_cb() will be invoked.
369 * @see system_settings_remove_changed_cb()
370 * @see system_settings_changed_cb()
373 int system_settings_add_changed_cb(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
376 * @brief Removes a change event callback function.
377 * @details The difference between this function and system_settings_unset_changed_cb() is that system_settings_unset_changed_cb() unsets the callback set with system_settings_set_changed_cb(), while system_settings_remove_changed_cb() removes callbacks added with system_settings_add_changed_cb()
379 * @remarks The @a key cannot be #SYSTEM_SETTINGS_KEY_DEFAULT_FONT_TYPE. When the feature related to the @a key is not supported on the device, #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED will be returned.
380 * @param[in] key The key name of the system settings
381 * @param[in] callback The callback function to be removed
382 * @return 0 on success, otherwise a negative error value
383 * @retval #SYSTEM_SETTINGS_ERROR_NONE Successful
384 * @retval #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
385 * @retval #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED The related feature is not supported on the device
387 * @see system_settings_add_changed_cb()
389 int system_settings_remove_changed_cb(system_settings_key_e key, system_settings_changed_cb callback);
399 #endif /* __TIZEN_SYSTEM_SYSTEM_SETTINGS_H__ */