diff options
author | Martyn Russell <martyn@lanedo.com> | 2013-08-16 21:12:40 +0100 |
---|---|---|
committer | Martyn Russell <martyn@lanedo.com> | 2013-09-27 17:27:54 +0100 |
commit | fa6ea2f0d55df071e4e551508ea2dfc0857b87c7 (patch) | |
tree | 51270349cff6c8438c9fdb4e3e4ba9df57f8503d /src/libtracker-data | |
parent | e20bf263f29853b55c3563a362fe19c922863335 (diff) | |
download | tracker-fa6ea2f0d55df071e4e551508ea2dfc0857b87c7.tar.gz |
libtracker-data: Switched all GValueArray --> GArray
GValueArray is deprecated
Diffstat (limited to 'src/libtracker-data')
-rw-r--r-- | src/libtracker-data/tracker-data-update.c | 120 |
1 files changed, 72 insertions, 48 deletions
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c index f60d74d92..9017989c4 100644 --- a/src/libtracker-data/tracker-data-update.c +++ b/src/libtracker-data/tracker-data-update.c @@ -82,7 +82,7 @@ struct _TrackerDataUpdateBufferResource { gint id; gboolean create; gboolean modified; - /* TrackerProperty -> GValueArray */ + /* TrackerProperty -> GArray */ GHashTable *predicates; /* string -> TrackerDataUpdateBufferTable */ GHashTable *tables; @@ -174,7 +174,7 @@ static void cache_insert_value (const gchar *table_name, gboolean multiple_values, gboolean fts, gboolean date_time); -static GValueArray *get_old_property_values (TrackerProperty *property, +static GArray *get_old_property_values (TrackerProperty *property, GError **error); static gchar* gvalue_to_string (TrackerPropertyType type, GValue *gvalue); @@ -960,7 +960,7 @@ tracker_data_resource_buffer_flush (GError **error) #if HAVE_TRACKER_FTS if (resource_buffer->fts_updated) { TrackerProperty *prop; - GValueArray *values; + GArray *values; gboolean create = resource_buffer->create; GPtrArray *properties, *text; @@ -971,8 +971,9 @@ tracker_data_resource_buffer_flush (GError **error) GString *fts; fts = g_string_new (""); - for (i = 0; i < values->n_values; i++) { - g_string_append (fts, g_value_get_string (g_value_array_get_nth (values, i))); + for (i = 0; i < values->len; i++) { + GValue *v = &g_array_index (values, GValue, i); + g_string_append (fts, g_value_get_string (v)); g_string_append_c (fts, ' '); } @@ -1230,7 +1231,7 @@ cache_create_service_decomposed (TrackerClass *cl, while (*domain_indexes) { GError *error = NULL; - GValueArray *old_values; + GArray *old_values; /* read existing property values */ old_values = get_old_property_values (*domain_indexes, &error); @@ -1244,19 +1245,21 @@ cache_create_service_decomposed (TrackerClass *cl, } if (old_values && - old_values->n_values > 0) { + old_values->len > 0) { + GValue *v; GValue gvalue_copy = { 0 }; /* Don't expect several values for property which is a domain index */ - g_assert_cmpint (old_values->n_values, ==, 1); + g_assert_cmpint (old_values->len, ==, 1); g_debug ("Propagating '%s' property value from '%s' to domain index in '%s'", tracker_property_get_name (*domain_indexes), tracker_property_get_table_name (*domain_indexes), tracker_class_get_name (cl)); - g_value_init (&gvalue_copy, G_VALUE_TYPE (old_values->values)); - g_value_copy (old_values->values, &gvalue_copy); + v = &g_array_index (old_values, GValue, 0); + g_value_init (&gvalue_copy, G_VALUE_TYPE (v)); + g_value_copy (v, &gvalue_copy); cache_insert_value (tracker_class_get_name (cl), tracker_property_get_name (*domain_indexes), @@ -1303,38 +1306,42 @@ value_equal (GValue *value1, } static gboolean -value_set_add_value (GValueArray *value_set, - GValue *value) +value_set_add_value (GArray *value_set, + GValue *value) { gint i; g_return_val_if_fail (G_VALUE_TYPE (value), FALSE); - for (i = 0; i < value_set->n_values; i++) { - if (value_equal (g_value_array_get_nth (value_set, i), value)) { + for (i = 0; i < value_set->len; i++) { + GValue *v; + + v = &g_array_index (value_set, GValue, i); + if (value_equal (v, value)) { /* no change, value already in set */ return FALSE; } } - g_value_array_append (value_set, value); + g_array_append_val (value_set, value); return TRUE; } static gboolean -value_set_remove_value (GValueArray *value_set, - GValue *value) +value_set_remove_value (GArray *value_set, + GValue *value) { gint i; g_return_val_if_fail (G_VALUE_TYPE (value), FALSE); - for (i = 0; i < value_set->n_values; i++) { - if (value_equal (g_value_array_get_nth (value_set, i), value)) { - /* value found, remove from set */ + for (i = 0; i < value_set->len; i++) { + GValue *v = &g_array_index (value_set, GValue, i); - g_value_array_remove (value_set, i); + if (value_equal (v, value)) { + /* value found, remove from set */ + g_array_remove_index (value_set, i); return TRUE; } @@ -1357,15 +1364,16 @@ check_property_domain (TrackerProperty *property) return FALSE; } -static GValueArray * +static GArray * get_property_values (TrackerProperty *property) { gboolean multiple_values; - GValueArray *old_values; + GArray *old_values; multiple_values = tracker_property_get_multiple_values (property); - old_values = g_value_array_new (multiple_values ? 4 : 1); + old_values = g_array_sized_new (FALSE, TRUE, sizeof (GValue*), multiple_values ? 4 : 1); + g_array_set_clear_func (old_values, (GDestroyNotify) g_value_unset); g_hash_table_insert (resource_buffer->predicates, g_object_ref (property), old_values); if (!resource_buffer->create) { @@ -1399,8 +1407,12 @@ get_property_values (TrackerProperty *property) if (cursor) { while (tracker_db_cursor_iter_next (cursor, NULL, &error)) { GValue gvalue = { 0 }; + tracker_db_cursor_get_value (cursor, 0, &gvalue); + if (G_VALUE_TYPE (&gvalue)) { + GValue *v; + if (tracker_property_get_data_type (property) == TRACKER_PROPERTY_TYPE_DATETIME) { gdouble time; @@ -1414,7 +1426,9 @@ get_property_values (TrackerProperty *property) /* UTC offset is irrelevant for comparison */ tracker_date_time_set (&gvalue, time, 0); } - g_value_array_append (old_values, &gvalue); + + g_value_copy (&gvalue, v); + g_array_append_val (old_values, v); g_value_unset (&gvalue); } } @@ -1425,11 +1439,11 @@ get_property_values (TrackerProperty *property) return old_values; } -static GValueArray * +static GArray * get_old_property_values (TrackerProperty *property, GError **error) { - GValueArray *old_values; + GArray *old_values; /* read existing property values */ old_values = g_hash_table_lookup (resource_buffer->predicates, property); @@ -1470,7 +1484,7 @@ get_old_property_values (TrackerProperty *property, property_name = tracker_property_get_name (prop); /* delete old fts entries */ - for (i = 0; i < old_values->n_values; i++) { + for (i = 0; i < old_values->len; i++) { tracker_db_interface_sqlite_fts_delete_text (iface, resource_buffer->id, property_name); @@ -1640,7 +1654,7 @@ cache_insert_metadata_decomposed (TrackerProperty *property, const gchar *field_name; TrackerProperty **super_properties; GValue gvalue = { 0 }; - GValueArray *old_values; + GArray *old_values; GError *new_error = NULL; gboolean change = FALSE; @@ -1681,10 +1695,11 @@ cache_insert_metadata_decomposed (TrackerProperty *property, if (!value_set_add_value (old_values, &gvalue)) { /* value already inserted */ g_value_unset (&gvalue); - } else if (!multiple_values && old_values->n_values > 1) { + } else if (!multiple_values && old_values->len > 1) { /* trying to add second value to single valued property */ GValue old_value = { 0 }; GValue new_value = { 0 }; + GValue *v; const gchar *old_value_str = NULL; const gchar *new_value_str = NULL; @@ -1693,10 +1708,13 @@ cache_insert_metadata_decomposed (TrackerProperty *property, /* Get both old and new values as strings letting glib do * whatever transformation needed */ - if (g_value_transform (g_value_array_get_nth (old_values, 0), &old_value)) { + v = &g_array_index (old_values, GValue, 0); + if (g_value_transform (v, &old_value)) { old_value_str = g_value_get_string (&old_value); } - if (g_value_transform (g_value_array_get_nth (old_values, 1), &new_value)) { + + v = &g_array_index (old_values, GValue, 1); + if (g_value_transform (v, &new_value)) { new_value_str = g_value_get_string (&new_value); } @@ -1733,7 +1751,7 @@ cache_insert_metadata_decomposed (TrackerProperty *property, static gboolean delete_first_object (TrackerProperty *field, - GValueArray *old_values, + GArray *old_values, const gchar *graph, GError **error) { @@ -1741,7 +1759,7 @@ delete_first_object (TrackerProperty *field, gint object_id = 0; gboolean change = FALSE; - if (old_values->n_values == 0) { + if (old_values->len == 0) { return change; } @@ -1750,8 +1768,10 @@ delete_first_object (TrackerProperty *field, if (tracker_property_get_data_type (field) == TRACKER_PROPERTY_TYPE_RESOURCE) { GError *new_error = NULL; + GValue *v; - object_id = (gint) g_value_get_int64 (g_value_array_get_nth (old_values, 0)); + v = &g_array_index (old_values, GValue, 0); + object_id = (gint) g_value_get_int64 (v); /* This influences old_values, which is a reference, not a copy */ change = delete_metadata_decomposed (field, NULL, object_id, &new_error); @@ -1770,12 +1790,13 @@ delete_first_object (TrackerProperty *field, } #endif /* DISABLE_JOURNAL */ } else { + GValue *v; GError *new_error = NULL; gchar *object_str = NULL; object_id = 0; - object_str = gvalue_to_string (tracker_property_get_data_type (field), - g_value_array_get_nth (old_values, 0)); + v = &g_array_index (old_values, GValue, 0); + object_str = gvalue_to_string (tracker_property_get_data_type (field), v); /* This influences old_values, which is a reference, not a copy */ change = delete_metadata_decomposed (field, object_str, 0, &new_error); @@ -1858,7 +1879,7 @@ cache_update_metadata_decomposed (TrackerProperty *property, gint subject_id; gchar *subject; - GValueArray *old_values; + GArray *old_values; /* read existing property values */ old_values = get_old_property_values (property, &new_error); @@ -1944,7 +1965,7 @@ delete_metadata_decomposed (TrackerProperty *property, const gchar *field_name; TrackerProperty **super_properties; GValue gvalue = { 0 }; - GValueArray *old_values; + GArray *old_values; GError *new_error = NULL; gboolean change = FALSE; @@ -2136,7 +2157,7 @@ cache_delete_resource_type_full (TrackerClass *class, gboolean multiple_values; const gchar *table_name; const gchar *field_name; - GValueArray *old_values; + GArray *old_values; gint y; prop = properties[p]; @@ -2159,11 +2180,11 @@ cache_delete_resource_type_full (TrackerClass *class, old_values = get_old_property_values (prop, NULL); - for (y = old_values->n_values - 1; y >= 0 ; y--) { + for (y = old_values->len - 1; y >= 0 ; y--) { GValue *old_gvalue; GValue gvalue = { 0 }; - old_gvalue = g_value_array_get_nth (old_values, y); + old_gvalue = &g_array_index (old_values, GValue, y); g_value_init (&gvalue, G_VALUE_TYPE (old_gvalue)); g_value_copy (old_gvalue, &gvalue); @@ -2306,7 +2327,7 @@ resource_buffer_switch (const gchar *graph, } else { resource_buffer->types = tracker_data_query_rdf_type (resource_buffer->id); } - resource_buffer->predicates = g_hash_table_new_full (g_direct_hash, g_direct_equal, g_object_unref, (GDestroyNotify) g_value_array_free); + resource_buffer->predicates = g_hash_table_new_full (g_direct_hash, g_direct_equal, g_object_unref, (GDestroyNotify) g_array_unref); resource_buffer->tables = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) cache_table_free); if (in_journal_replay) { @@ -2476,7 +2497,7 @@ delete_all_objects (const gchar *graph, field = tracker_ontologies_get_property_by_uri (predicate); if (field != NULL) { - GValueArray *old_values; + GArray *old_values; if (!tracker_property_get_transient (field)) { has_persistent = TRUE; @@ -2488,7 +2509,7 @@ delete_all_objects (const gchar *graph, return; } - while (old_values->n_values > 0) { + while (old_values->len > 0) { GError *new_error = NULL; change |= delete_first_object (field, old_values, graph, &new_error); @@ -2930,7 +2951,7 @@ tracker_data_update_statement_with_uri (const gchar *graph, change = TRUE; } else { gint old_object_id = 0; - GValueArray *old_values; + GArray *old_values; gboolean multiple_values; GError *new_error = NULL; gboolean domain_unchecked = TRUE; @@ -2943,9 +2964,12 @@ tracker_data_update_statement_with_uri (const gchar *graph, old_values = get_old_property_values (property, &new_error); domain_unchecked = FALSE; if (!new_error) { - if (old_values->n_values > 0) { + if (old_values->len > 0) { /* evel knievel cast */ - old_object_id = (gint) g_value_get_int64 (g_value_array_get_nth (old_values, 0)); + GValue *v; + + v = &g_array_index (old_values, GValue, 0); + old_object_id = (gint) g_value_get_int64 (v); } } else { g_propagate_error (error, new_error); |