Added feature check callback to support specific API.
[platform/core/api/system-settings.git] / include / system_settings_private.h
index 968fd2b..d55686f 100644 (file)
@@ -62,6 +62,8 @@ extern "C"
 #endif
 
 
+#define SETTING_PROFILE_PATH "tizen.org/feature/profile"
+#define SETTING_3G_TELEPHONY_PATH "tizen.org/feature/network.telephony.service.cdma"
 
 /**
  * @internal
@@ -79,6 +81,19 @@ typedef enum {
 }
 system_setting_data_type_e;
 
+/**
+ * @internal
+ * @since_tizen 4.0
+ * Enumeration for supported profile info
+ */
+typedef enum {
+       SYSTEM_SETTING_SUPPORTED_PROFILE_MOBILE = 0x1,          /**< mobile */
+       SYSTEM_SETTING_SUPPORTED_PROFILE_WEARABLE = 0x2,        /**< wearable */
+       SYSTEM_SETTING_SUPPORTED_PROFILE_TV = 0x4,                      /**< tv */
+       SYSTEM_SETTING_SUPPORTED_PROFILE_COMMON = 0x8,          /**< common*/
+       SYSTEM_SETTING_SUPPORTED_PROFILE_ALL = 0xF,                     /**< all of profiles */
+}
+system_setting_supported_profile_info_e;
 
 /**
  * @internal
@@ -106,6 +121,8 @@ typedef int (*system_setting_add_value_cb)(system_settings_key_e key, system_set
 typedef int (*system_setting_del_value_cb)(system_settings_key_e key, system_setting_data_type_e data_type, void *value);
 typedef int (*system_setting_list_value_cb)(system_settings_key_e key, system_setting_data_type_e data_type, system_settings_iter_cb callback, void *user_data);
 
+typedef int (*system_setting_feature_check_cb)(void *value);
+
 /**
  * @internal
  * @since_tizen 2.3
@@ -151,6 +168,8 @@ typedef struct {
        system_setting_del_value_cb del_value_cb;
        system_setting_list_value_cb list_value_cb;
 
+       system_setting_feature_check_cb feature_check_cb;
+
        void *user_data;                                                                                                /* user_data */
 
 } system_setting_s;
@@ -166,6 +185,7 @@ typedef system_setting_s *system_setting_h;
  * @retval     #SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval     #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
  * @retval     #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
+ * @retval     #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED Not support system-settings API
  */
 int system_settings_get_item(system_settings_key_e key, system_setting_h *item);
 
@@ -1395,6 +1415,8 @@ int system_setting_set_changed_callback_uds_pkg_list(system_settings_key_e key,
  */
 int system_setting_unset_changed_callback_uds_pkg_list(system_settings_key_e key);
 
+
+int system_setting_feature_check_profile_mobile_wearable(void *value);
 /*// */