tracker r2681 - in trunk: . src/tracker-indexer
- From: carlosg svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r2681 - in trunk: . src/tracker-indexer
- Date: Tue, 9 Dec 2008 14:53:01 +0000 (UTC)
Author: carlosg
Date: Tue Dec 9 14:53:01 2008
New Revision: 2681
URL: http://svn.gnome.org/viewvc/tracker?rev=2681&view=rev
Log:
2008-12-09 Carlos Garnacho <carlos imendio com>
* src/tracker-indexer/tracker-module-metadata.c
(tracker_module_metadata_get_hash_table): Make it return a new
hashtable with field names as keys for easier use.
* src/tracker-indexer/tracker-indexer.c (item_add_or_update): Destroy
the hashtable that tracker_module_metadata_get_hash_table() returns.
Modified:
trunk/ChangeLog
trunk/src/tracker-indexer/tracker-indexer.c
trunk/src/tracker-indexer/tracker-module-metadata.c
Modified: trunk/src/tracker-indexer/tracker-indexer.c
==============================================================================
--- trunk/src/tracker-indexer/tracker-indexer.c (original)
+++ trunk/src/tracker-indexer/tracker-indexer.c Tue Dec 9 14:53:01 2008
@@ -1425,18 +1425,21 @@
tracker_data_metadata_free (old_metadata_emb);
tracker_data_metadata_free (old_metadata_non_emb);
} else {
+ GHashTable *data;
+
g_debug ("Adding item '%s/%s'",
dirname,
basename);
/* Service wasn't previously indexed */
id = tracker_data_update_get_new_service_id (indexer->private->common);
+ data = tracker_module_metadata_get_hash_table (metadata);
tracker_data_update_create_service (service,
id,
dirname,
basename,
- tracker_module_metadata_get_hash_table (metadata));
+ data);
tracker_data_update_create_event (indexer->private->cache, id, "Create");
tracker_data_update_increment_stats (indexer->private->common, service);
@@ -1457,6 +1460,8 @@
tracker_data_update_set_content (service, id, text);
g_free (text);
}
+
+ g_hash_table_destroy (data);
}
}
Modified: trunk/src/tracker-indexer/tracker-module-metadata.c
==============================================================================
--- trunk/src/tracker-indexer/tracker-module-metadata.c (original)
+++ trunk/src/tracker-indexer/tracker-module-metadata.c Tue Dec 9 14:53:01 2008
@@ -364,10 +364,31 @@
user_data);
}
+static void
+get_hash_table_foreach (gpointer key,
+ gpointer value,
+ gpointer user_data)
+{
+ TrackerField *field;
+ GHashTable *table;
+
+ field = TRACKER_FIELD (key);
+ table = user_data;
+
+ g_hash_table_insert (table,
+ (gpointer) tracker_field_get_name (field),
+ value);
+}
+
GHashTable *
tracker_module_metadata_get_hash_table (TrackerModuleMetadata *metadata)
{
- return metadata->table;
+ GHashTable *table;
+
+ table = g_hash_table_new (g_str_hash, g_str_equal);
+ g_hash_table_foreach (metadata->table, (GHFunc) get_hash_table_foreach, table);
+
+ return table;
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]