add SYSTEM_SETTINGS_KEY_ADS_ID key
[platform/core/api/system-settings.git] / src / system_setting_platform.c
index 5e3bdaa..863d029 100644 (file)
@@ -1879,4 +1879,70 @@ int system_setting_unset_changed_callback_lock_state(system_settings_key_e key)
 }
 /*  LCOV_EXCL_STOP */
 
+//----------------------------------------------------------------------------------------------------------------------------
+
+#define DEFAULT_ADS_ID "00000000-0000-0000-0000-000000000000"
+
+int system_setting_get_ads_id(system_settings_key_e key, system_setting_data_type_e data_type, void **value)
+{
+       SETTING_TRACE_BEGIN;
+       int optout_value = 0;
+       if (system_setting_vconf_get_value_int(VCONFKEY_SETAPPL_AD_ID_OPT_OUT, &optout_value)) {
+               return SYSTEM_SETTINGS_ERROR_IO_ERROR;
+       }
+
+       if (optout_value == 1) {
+               *value = strdup(DEFAULT_ADS_ID);
+               return SYSTEM_SETTINGS_ERROR_NONE;
+       }
+
+       char *vconf_value = NULL;
+       if (system_setting_vconf_get_value_string(VCONFKEY_SETAPPL_AD_ID, &vconf_value)) {
+               return SYSTEM_SETTINGS_ERROR_IO_ERROR;
+       }
+
+       *value = vconf_value;
+       return SYSTEM_SETTINGS_ERROR_NONE;
+}
+
+
+#if 0
+void make_ad_id(void)
+{
+       uuid_t uuid_value;
+       char uuid_unparsed[50] = {0};
+       uuid_generate(uuid_value);
+       uuid_unparse(uuid_value, uuid_unparsed);
+       system_setting_set_ad_id(key, uuid_unparsed); //example of setting the value
+}
+#endif
+/*  LCOV_EXCL_START */
+int system_setting_set_ads_id(system_settings_key_e key, system_setting_data_type_e data_type, void *value)
+{
+       SETTING_TRACE_BEGIN;
+       char *vconf_value = NULL;
+       vconf_value = (char *)value;
+
+       if (system_setting_vconf_set_value_string(VCONFKEY_SETAPPL_AD_ID, vconf_value))
+       {
+               SETTING_TRACE("Setting VCONFKEY_SETAPPL_AD_ID failed");
+               return SYSTEM_SETTINGS_ERROR_IO_ERROR;
+       }
+
+       return SYSTEM_SETTINGS_ERROR_NONE;
+}
+/*  LCOV_EXCL_STOP */
+
+int system_setting_set_changed_callback_ads_id(system_settings_key_e key, system_settings_changed_cb callback, void *user_data)
+{
+       SETTING_TRACE_BEGIN;
+       return system_setting_vconf_set_changed_cb(VCONFKEY_SETAPPL_AD_ID, SYSTEM_SETTINGS_KEY_ADS_ID, 0, user_data);
+}
+
+int system_setting_unset_changed_callback_ads_id(system_settings_key_e key)
+{
+       SETTING_TRACE_BEGIN;
+       return system_setting_vconf_unset_changed_cb(VCONFKEY_SETAPPL_AD_ID, 0);
+}
+