GConfSchema* gconf_schema_copy (const GConfSchema* sc) { GConfRealSchema *dest; const GConfRealSchema *real; real = REAL_SCHEMA (sc); dest = (GConfRealSchema*) gconf_schema_new (); dest->type = real->type; dest->list_type = real->list_type; dest->car_type = real->car_type; dest->cdr_type = real->cdr_type; dest->locale = g_strdup (real->locale); dest->short_desc = g_strdup (real->short_desc); dest->long_desc = g_strdup (real->long_desc); dest->owner = g_strdup (real->owner); dest->default_value = real->default_value ? gconf_value_copy (real->default_value) : NULL; return (GConfSchema*) dest; }
static void listify_foreach(const gchar* key, Entry* e, ListifyData* ld) { GConfValue* val; GConfEntry* entry; GError* error = NULL; val = entry_get_value (e, ld->locales, &error); if (error != NULL) { g_assert (val == NULL); g_error_free (error); return; } entry = gconf_entry_new_nocopy (g_strdup(key), val ? gconf_value_copy(val) : NULL); if (entry_get_schema_name (e)) { gconf_entry_set_schema_name (entry, entry_get_schema_name (e)); } ld->list = g_slist_prepend(ld->list, entry); }
void gconf_schema_set_default_value (GConfSchema* sc, const GConfValue* val) { if (REAL_SCHEMA (sc)->default_value != NULL) gconf_value_free (REAL_SCHEMA (sc)->default_value); REAL_SCHEMA (sc)->default_value = gconf_value_copy (val); }
static GConfValue * cc_ua_panel_toggle_switch (GConfPropertyEditor *peditor, const GConfValue *value) { GtkWidget *sw; gboolean enabled; enabled = gconf_value_get_bool (value); sw = (GtkWidget*) gconf_property_editor_get_ui_control (peditor); gtk_switch_set_active (GTK_SWITCH (sw), enabled); return gconf_value_copy (value); }
void entry_set_value(Entry* e, const GConfValue* value) { g_return_if_fail(e != NULL); entry_sync_if_needed(e); if (e->cached_value) gconf_value_free(e->cached_value); e->cached_value = gconf_value_copy(value); e->dirty = TRUE; }
GConfValue* dir_get_value (Dir* d, const gchar* relative_key, const gchar** locales, gchar** schema_name, GError** err) { Entry* e; if (d->doc == NULL) dir_load_doc(d, err); if (d->doc == NULL) { g_return_val_if_fail( (err == NULL) || (*err != NULL), NULL ); return NULL; } e = g_hash_table_lookup(d->entry_cache, relative_key); d->last_access = time(NULL); if (e == NULL) { /* No entry; return */ return NULL; } else { GConfValue* val; g_assert(e != NULL); val = entry_get_value (e, locales, err); /* Get schema name if requested */ if (schema_name && entry_get_schema_name (e)) *schema_name = g_strdup (entry_get_schema_name (e)); /* return copy of the value */ if (val != NULL) return gconf_value_copy(val); else return NULL; } }