tracker r1896 - in branches/indexer-split: . src/libtracker-common src/tracker-indexer src/tracker-indexer/modules



Author: pvanhoof
Date: Mon Jul 21 15:58:18 2008
New Revision: 1896
URL: http://svn.gnome.org/viewvc/tracker?rev=1896&view=rev

Log:
2008-07-21  Philip Van Hoof  <pvanhoof gnome org>

        * Reverted TrackerField instances as hash keys patch



Modified:
   branches/indexer-split/ChangeLog
   branches/indexer-split/src/libtracker-common/tracker-ontology.c
   branches/indexer-split/src/tracker-indexer/modules/applications.c
   branches/indexer-split/src/tracker-indexer/modules/evolution.c
   branches/indexer-split/src/tracker-indexer/modules/files.c
   branches/indexer-split/src/tracker-indexer/tracker-indexer.c

Modified: branches/indexer-split/src/libtracker-common/tracker-ontology.c
==============================================================================
--- branches/indexer-split/src/libtracker-common/tracker-ontology.c	(original)
+++ branches/indexer-split/src/libtracker-common/tracker-ontology.c	Mon Jul 21 15:58:18 2008
@@ -146,19 +146,19 @@
 		return;
 	}
 
-	g_hash_table_unref (service_directory_table);
+	g_hash_table_destroy (service_directory_table);
 	service_directory_table = NULL;
 
-	g_hash_table_unref (service_id_table);
+	g_hash_table_destroy (service_id_table);
 	service_id_table = NULL;
 
-	g_hash_table_unref (service_table);
+	g_hash_table_destroy (service_table);
 	service_table = NULL;
 
-	g_hash_table_unref (mime_service);
+	g_hash_table_destroy (mime_service);
 	mime_service = NULL;
 
-	g_hash_table_unref (metadata_table);
+	g_hash_table_destroy (metadata_table);
 	metadata_table = NULL;
 
 	if (mime_prefix_service) {

Modified: branches/indexer-split/src/tracker-indexer/modules/applications.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/modules/applications.c	(original)
+++ branches/indexer-split/src/tracker-indexer/modules/applications.c	Mon Jul 21 15:58:18 2008
@@ -19,9 +19,7 @@
 
 #include <stdlib.h>
 #include <glib.h>
-#include <glib-object.h>
 #include <tracker-indexer/tracker-module.h>
-#include <libtracker-common/tracker-ontology.h>
 
 #define GROUP_DESKTOP_ENTRY "Desktop Entry"
 #define KEY_TYPE            "Type"
@@ -104,53 +102,21 @@
 	}
 
 	/* Begin collecting data */
-	metadata = g_hash_table_new_full (g_direct_hash, g_direct_equal,
-					  (GDestroyNotify) g_object_unref,
+	metadata = g_hash_table_new_full (g_str_hash, g_str_equal,
+					  NULL,
 					  (GDestroyNotify) g_free);
 
-	insert_data_from_desktop_file (metadata, 
-				       g_object_ref (tracker_ontology_get_field_def (METADATA_APP_NAME)), 
-				       key_file, 
-				       KEY_NAME, 
-				       FALSE);
-
-	insert_data_from_desktop_file (metadata, 
-				       g_object_ref (tracker_ontology_get_field_def (METADATA_APP_DISPLAY_NAME)),
-				       key_file,
-				       KEY_NAME,
-				       TRUE);
-
-	insert_data_from_desktop_file (metadata, 
-				       g_object_ref (tracker_ontology_get_field_def (METADATA_APP_GENERIC_NAME)),
-				       key_file,
-				       KEY_GENERIC_NAME,
-				       TRUE);
-
-	insert_data_from_desktop_file (metadata, 
-				       g_object_ref (tracker_ontology_get_field_def (METADATA_APP_COMMENT)),
-				       key_file,
-				       KEY_COMMENT,
-				       TRUE);
-
-	insert_data_from_desktop_file (metadata, 
-				       g_object_ref (tracker_ontology_get_field_def (METADATA_APP_EXECUTABLE)),
-				       key_file,
-				       KEY_EXECUTABLE,
-				       FALSE);
-
-	insert_data_from_desktop_file (metadata, 
-				       g_object_ref (tracker_ontology_get_field_def (METADATA_APP_ICON)),
-				       key_file,
-				       KEY_ICON,
-				       FALSE);
+	insert_data_from_desktop_file (metadata, METADATA_APP_NAME, key_file, KEY_NAME, FALSE);
+	insert_data_from_desktop_file (metadata, METADATA_APP_DISPLAY_NAME, key_file, KEY_NAME, TRUE);
+	insert_data_from_desktop_file (metadata, METADATA_APP_GENERIC_NAME, key_file, KEY_GENERIC_NAME, TRUE);
+	insert_data_from_desktop_file (metadata, METADATA_APP_COMMENT, key_file, KEY_COMMENT, TRUE);
+	insert_data_from_desktop_file (metadata, METADATA_APP_EXECUTABLE, key_file, KEY_EXECUTABLE, FALSE);
+	insert_data_from_desktop_file (metadata, METADATA_APP_ICON, key_file, KEY_ICON, FALSE);
 
 	/* FIXME: mimetypes list and categories? */
 
 	filename = g_filename_display_basename (file->path);
-
-	g_hash_table_insert (metadata, 
-			     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_NAME)),
-			     filename);
+	g_hash_table_insert (metadata, METADATA_FILE_NAME, filename);
 
 	g_key_file_free (key_file);
 	g_free (type);

Modified: branches/indexer-split/src/tracker-indexer/modules/evolution.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/modules/evolution.c	(original)
+++ branches/indexer-split/src/tracker-indexer/modules/evolution.c	Mon Jul 21 15:58:18 2008
@@ -30,7 +30,6 @@
 #include <libtracker-common/tracker-utils.h>
 #include <libtracker-common/tracker-file-utils.h>
 #include <libtracker-common/tracker-type-utils.h>
-#include <libtracker-common/tracker-ontology.h>
 
 #define METADATA_FILE_PATH           "File:Path"
 #define METADATA_FILE_NAME           "File:Name"
@@ -579,34 +578,24 @@
                 return NULL;
         }
 
-		metadata = g_hash_table_new_full (g_direct_hash, g_direct_equal,
-						  (GDestroyNotify) g_object_unref,
-						  (GDestroyNotify) g_free);
-
-		dir = tracker_string_replace (file->path, local_dir, NULL);
-		name = g_strdup_printf ("%s;uid=%d", dir, get_mbox_message_id (message));
-
-		g_hash_table_insert (metadata, 
-				     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_PATH)),
-				     g_strdup ("email://local local"));
-
-		g_hash_table_insert (metadata, 
-				     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_NAME)),
-				     name);
-
-		g_mime_message_get_date (message, &date, NULL);
-
-		g_hash_table_insert (metadata, 
-				     g_object_ref (tracker_ontology_get_field_def (METADATA_EMAIL_DATE)),
-				     tracker_uint_to_string (date));
-
-		g_hash_table_insert (metadata, 
-				     g_object_ref (tracker_ontology_get_field_def (METADATA_EMAIL_SENDER)),
-				     g_strdup (g_mime_message_get_sender (message)));
-
-		g_hash_table_insert (metadata, 
-				     g_object_ref (tracker_ontology_get_field_def (METADATA_EMAIL_SUBJECT)),
-				     g_strdup (g_mime_message_get_subject (message)));
+	metadata = g_hash_table_new_full (g_str_hash, g_str_equal,
+					  NULL,
+					  (GDestroyNotify) g_free);
+
+        dir = tracker_string_replace (file->path, local_dir, NULL);
+        name = g_strdup_printf ("%s;uid=%d", dir, get_mbox_message_id (message));
+
+        g_hash_table_insert (metadata, METADATA_FILE_PATH, g_strdup ("email://local local"));
+        g_hash_table_insert (metadata, METADATA_FILE_NAME, name);
+
+        g_mime_message_get_date (message, &date, NULL);
+	g_hash_table_insert (metadata, METADATA_EMAIL_DATE,
+                             tracker_uint_to_string (date));
+
+        g_hash_table_insert (metadata, METADATA_EMAIL_SENDER,
+                             g_strdup (g_mime_message_get_sender (message)));
+        g_hash_table_insert (metadata, METADATA_EMAIL_SUBJECT,
+                             g_strdup (g_mime_message_get_subject (message)));
 
         /* Missing:
          *
@@ -727,33 +716,21 @@
                       SUMMARY_TYPE_STRING, NULL, /* mlist */
                       -1);
 
-		metadata = g_hash_table_new_full (g_direct_hash, g_direct_equal,
-						  (GDestroyNotify) g_object_unref,
-						  (GDestroyNotify) g_free);
+	metadata = g_hash_table_new_full (g_str_hash, g_str_equal,
+					  NULL,
+					  (GDestroyNotify) g_free);
 
-		get_imap_uri (file->path, &dirname, &basename);
+        get_imap_uri (file->path, &dirname, &basename);
 
-		g_hash_table_insert (metadata, 
-				     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_PATH)),
-				     dirname);
-
-		g_hash_table_insert (metadata, 
-				     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_NAME)),
-				     g_strdup_printf ("%s;uid=%s", basename, uid));
-
-		g_free (basename);
-
-		g_hash_table_insert (metadata, 
-				     g_object_ref (tracker_ontology_get_field_def (METADATA_EMAIL_DATE)),
-				     tracker_uint_to_string (date));
+        g_hash_table_insert (metadata, METADATA_FILE_PATH, dirname);
+        g_hash_table_insert (metadata, METADATA_FILE_NAME, g_strdup_printf ("%s;uid=%s", basename, uid));
+        g_free (basename);
 
-		g_hash_table_insert (metadata, 
-				     g_object_ref (tracker_ontology_get_field_def (METADATA_EMAIL_SENDER)), 
-				     from);
+	g_hash_table_insert (metadata, METADATA_EMAIL_DATE,
+                             tracker_uint_to_string (date));
 
-		g_hash_table_insert (metadata, 
-				     g_object_ref (tracker_ontology_get_field_def (METADATA_EMAIL_SUBJECT)), 
-				     subject);
+        g_hash_table_insert (metadata, METADATA_EMAIL_SENDER, from);
+        g_hash_table_insert (metadata, METADATA_EMAIL_SUBJECT, subject);
 
         g_free (uid);
         g_free (to);

Modified: branches/indexer-split/src/tracker-indexer/modules/files.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/modules/files.c	(original)
+++ branches/indexer-split/src/tracker-indexer/modules/files.c	Mon Jul 21 15:58:18 2008
@@ -125,9 +125,8 @@
 		if (!utf_value)
 			continue;
 
-		g_hash_table_insert (table, 
-				     g_object_ref (tracker_ontology_get_field_def (name)), 
-				     utf_value);
+		/* FIXME: name should be const */
+		g_hash_table_insert (table, g_strdup (name), utf_value);
 	}
 
 	g_strfreev (values);
@@ -216,51 +215,38 @@
 	}
 
 	g_lstat (path, &st);
-	metadata = g_hash_table_new_full (g_direct_hash, g_direct_equal,
-					  (GDestroyNotify) g_object_unref,
+	metadata = g_hash_table_new_full (g_str_hash, g_str_equal,
+					  NULL,
 					  (GDestroyNotify) g_free);
 	ext = strrchr (path, '.');
 
 	if (ext) {
-		g_hash_table_insert (metadata, 
-				     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_EXT)), 
-				     g_strdup (ext + 1));
+		g_hash_table_insert (metadata, METADATA_FILE_EXT, g_strdup (ext + 1));
 	}
 
 	mimetype = tracker_file_get_mime_type (path);
 
-	g_hash_table_insert (metadata, 
-			     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_NAME)), 
-			     g_filename_display_basename (path));
-	g_hash_table_insert (metadata, 
-			     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_PATH)),
-			     g_path_get_dirname (path));
-	g_hash_table_insert (metadata, 
-			     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_NAME_DELIMITED)),
+	g_hash_table_insert (metadata, METADATA_FILE_NAME, g_filename_display_basename (path));
+	g_hash_table_insert (metadata, METADATA_FILE_PATH, g_path_get_dirname (path));
+	g_hash_table_insert (metadata, METADATA_FILE_NAME_DELIMITED,
 			     g_filename_to_utf8 (path, -1, NULL, NULL, NULL));
-	g_hash_table_insert (metadata, 
-			     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_MIMETYPE)), 
-			     mimetype);
+	g_hash_table_insert (metadata, METADATA_FILE_MIMETYPE, mimetype);
 
 	if (S_ISLNK (st.st_mode)) {
 		gchar *link_path;
 
 		link_path = g_file_read_link (path, NULL);
-		g_hash_table_insert (metadata, 
-				     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_LINK)),
+		g_hash_table_insert (metadata, METADATA_FILE_LINK,
 				     g_filename_to_utf8 (link_path, -1, NULL, NULL, NULL));
 		g_free (link_path);
 	}
 
 	/* FIXME: These should be dealt directly as integer/times/whatever, not strings */
-	g_hash_table_insert (metadata, 
-			     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_SIZE)),
+	g_hash_table_insert (metadata, METADATA_FILE_SIZE,
 			     tracker_uint_to_string (st.st_size));
-	g_hash_table_insert (metadata, 
-			     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_MODIFIED)),
+	g_hash_table_insert (metadata, METADATA_FILE_MODIFIED,
 			     tracker_uint_to_string (st.st_mtime));
-	g_hash_table_insert (metadata, 
-			     g_object_ref (tracker_ontology_get_field_def (METADATA_FILE_ACCESSED)),
+	g_hash_table_insert (metadata, METADATA_FILE_ACCESSED,
 			     tracker_uint_to_string (st.st_atime));
 
 	tracker_metadata_get_embedded (path, mimetype, metadata);

Modified: branches/indexer-split/src/tracker-indexer/tracker-indexer.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-indexer.c	(original)
+++ branches/indexer-split/src/tracker-indexer/tracker-indexer.c	Mon Jul 21 15:58:18 2008
@@ -725,7 +725,8 @@
 		indexer_throttle (data->config, throttle * 100);
 	}
 
-	field = key;
+	/* Parse */
+	field = tracker_ontology_get_field_def ((gchar *) key);
 
 	parsed_value = tracker_parser_text_to_string ((gchar *) value,
 						      data->language,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]