[tracker] tracker-writeback: NB#185070: Loop over all subjects in the Writeback signal's array
- From: Philip Van Hoof <pvanhoof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] tracker-writeback: NB#185070: Loop over all subjects in the Writeback signal's array
- Date: Mon, 16 Aug 2010 15:05:45 +0000 (UTC)
commit 6bd4261d1818c407872910e297976f314ffa7ecf
Author: Philip Van Hoof <philip codeminded be>
Date: Mon Aug 16 17:05:04 2010 +0200
tracker-writeback: NB#185070: Loop over all subjects in the Writeback signal's array
.../tracker-writeback-dispatcher.c | 41 ++++++-----
src/tracker-writeback/tracker-writeback-file.c | 74 ++++++++++----------
2 files changed, 60 insertions(+), 55 deletions(-)
---
diff --git a/src/tracker-writeback/tracker-writeback-dispatcher.c b/src/tracker-writeback/tracker-writeback-dispatcher.c
index d41d4ed..3321aef 100644
--- a/src/tracker-writeback/tracker-writeback-dispatcher.c
+++ b/src/tracker-writeback/tracker-writeback-dispatcher.c
@@ -124,32 +124,39 @@ handle_writeback_signal (TrackerWritebackDispatcher *dispatcher,
g_free (signature);
while ((arg_type = dbus_message_iter_get_arg_type (&iter)) != DBUS_TYPE_INVALID) {
- DBusMessageIter arr, dict, types_arr;
- const gchar *subject;
- GArray *rdf_types;
-
- rdf_types = g_array_new (TRUE, TRUE, sizeof (gchar *));
+ DBusMessageIter arr;
dbus_message_iter_recurse (&iter, &arr);
- dbus_message_iter_recurse (&arr, &dict);
- dbus_message_iter_get_basic (&dict, &subject);
+ while ((arg_type = dbus_message_iter_get_arg_type (&arr)) != DBUS_TYPE_INVALID) {
+ DBusMessageIter dict, types_arr;
+ const gchar *subject;
+ GArray *rdf_types;
- dbus_message_iter_next (&dict);
- dbus_message_iter_recurse (&dict, &types_arr);
+ rdf_types = g_array_new (TRUE, TRUE, sizeof (gchar *));
- while ((arg_type = dbus_message_iter_get_arg_type (&types_arr)) != DBUS_TYPE_INVALID) {
- const gchar *type;
+ dbus_message_iter_recurse (&arr, &dict);
- dbus_message_iter_get_basic (&types_arr, &type);
+ dbus_message_iter_get_basic (&dict, &subject);
- g_array_append_val (rdf_types, type);
+ dbus_message_iter_next (&dict);
+ dbus_message_iter_recurse (&dict, &types_arr);
- dbus_message_iter_next (&types_arr);
- }
+ while ((arg_type = dbus_message_iter_get_arg_type (&types_arr)) != DBUS_TYPE_INVALID) {
+ const gchar *type;
+
+ dbus_message_iter_get_basic (&types_arr, &type);
+
+ g_array_append_val (rdf_types, type);
- g_signal_emit (dispatcher, signals[WRITEBACK], 0, subject, rdf_types->data);
- g_array_free (rdf_types, TRUE);
+ dbus_message_iter_next (&types_arr);
+ }
+
+ g_signal_emit (dispatcher, signals[WRITEBACK], 0, subject, rdf_types->data);
+ g_array_free (rdf_types, TRUE);
+
+ dbus_message_iter_next (&arr);
+ }
dbus_message_iter_next (&iter);
}
diff --git a/src/tracker-writeback/tracker-writeback-file.c b/src/tracker-writeback/tracker-writeback-file.c
index c234e5f..daa0933 100644
--- a/src/tracker-writeback/tracker-writeback-file.c
+++ b/src/tracker-writeback/tracker-writeback-file.c
@@ -72,7 +72,7 @@ tracker_writeback_file_update_metadata (TrackerWriteback *writeback,
GStrv row;
const gchar * const *content_types;
const gchar *mime_type;
- guint n, x;
+ guint n;
writeback_file_class = TRACKER_WRITEBACK_FILE_GET_CLASS (writeback);
@@ -88,56 +88,54 @@ tracker_writeback_file_update_metadata (TrackerWriteback *writeback,
return FALSE;
}
- for (x = 0 ; x < values->len ; x++) {
- /* Get the file from the row */
- row = g_ptr_array_index (values, x);
- file = g_file_new_for_uri (row[0]);
-
- file_info = g_file_query_info (file,
- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
- G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
- NULL, NULL);
-
- if (!file_info) {
- if (file) {
- g_object_unref (file);
- }
- continue;
+ /* Get the file from the row */
+ row = g_ptr_array_index (values, 0);
+ file = g_file_new_for_uri (row[0]);
+
+ file_info = g_file_query_info (file,
+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
+ G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
+ NULL, NULL);
+
+ if (!file_info) {
+ if (file) {
+ g_object_unref (file);
}
+ return FALSE;
+ }
- mime_type = g_file_info_get_content_type (file_info);
- content_types = (writeback_file_class->content_types) (TRACKER_WRITEBACK_FILE (writeback));
+ mime_type = g_file_info_get_content_type (file_info);
+ content_types = (writeback_file_class->content_types) (TRACKER_WRITEBACK_FILE (writeback));
- retval = FALSE;
+ retval = FALSE;
- for (n = 0; content_types[n] != NULL; n++) {
- if (g_strcmp0 (mime_type, content_types[n]) == 0) {
- retval = TRUE;
- break;
- }
+ for (n = 0; content_types[n] != NULL; n++) {
+ if (g_strcmp0 (mime_type, content_types[n]) == 0) {
+ retval = TRUE;
+ break;
}
+ }
- g_object_unref (file_info);
-
- if (retval) {
- g_message ("Locking file '%s' in order to write metadata", row[0]);
+ g_object_unref (file_info);
- tracker_file_lock (file);
+ if (retval) {
+ g_message ("Locking file '%s' in order to write metadata", row[0]);
- urls[0] = row[0];
+ tracker_file_lock (file);
- tracker_miner_manager_ignore_next_update (tracker_writeback_get_miner_manager (),
- "org.freedesktop.Tracker1.Miner.Files",
- urls);
+ urls[0] = row[0];
- retval = (writeback_file_class->update_file_metadata) (TRACKER_WRITEBACK_FILE (writeback),
- file, values, client);
+ tracker_miner_manager_ignore_next_update (tracker_writeback_get_miner_manager (),
+ "org.freedesktop.Tracker1.Miner.Files",
+ urls);
- g_timeout_add_seconds (3, file_unlock_cb, g_object_ref (file));
- }
+ retval = (writeback_file_class->update_file_metadata) (TRACKER_WRITEBACK_FILE (writeback),
+ file, values, client);
- g_object_unref (file);
+ g_timeout_add_seconds (3, file_unlock_cb, g_object_ref (file));
}
+ g_object_unref (file);
+
return retval;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]