Hi there,
This path will make it more easy later to support things like GetState
and StateChanged (which has a percentage value, for example).
--
Philip Van Hoof, freelance software developer
home: me at pvanhoof dot be
gnome: pvanhoof at gnome dot org
http://pvanhoof.be/blog
http://codeminded.be
Index: src/trackerd/tracker-email-modest.c
===================================================================
--- src/trackerd/tracker-email-modest.c (revision 1267)
+++ src/trackerd/tracker-email-modest.c (working copy)
@@ -911,9 +911,8 @@
email_free_mail_message (mail_msg);
if (!tracker_cache_process_events (db_con->data, TRUE)) {
- tracker->status = STATUS_SHUTDOWN;
+ tracker_set_status (tracker, STATUS_SHUTDOWN, 0, TRUE);
tracker->shutdown = TRUE;
- tracker_dbus_send_index_status_change_signal ();
return;
}
Index: src/trackerd/tracker-utils.c
===================================================================
--- src/trackerd/tracker-utils.c (revision 1267)
+++ src/trackerd/tracker-utils.c (working copy)
@@ -2621,8 +2621,17 @@
}
+void
+tracker_set_status (Tracker *tracker, TrackerStatus status, gdouble percentage, gboolean signal)
+{
+ TrackerStatus old = tracker->status;
+ tracker->status = status;
+ if (signal && old != status)
+ tracker_dbus_send_index_status_change_signal ();
+}
+
gboolean
tracker_pause (void)
{
Index: src/trackerd/tracker-utils.h
===================================================================
--- src/trackerd/tracker-utils.h (revision 1267)
+++ src/trackerd/tracker-utils.h (working copy)
@@ -539,4 +539,6 @@
gboolean tracker_low_diskspace (void);
gboolean tracker_pause (void);
+void tracker_set_status (Tracker *tracker, TrackerStatus status, gdouble percentage, gboolean signal);
+
#endif
Index: src/trackerd/trackerd.c
===================================================================
--- src/trackerd/trackerd.c (revision 1267)
+++ src/trackerd/trackerd.c (working copy)
@@ -204,7 +204,7 @@
{
GSList *black_list;
- tracker->status = STATUS_SHUTDOWN;
+ tracker_set_status (tracker, STATUS_SHUTDOWN, 0, FALSE);
if (sig_msg) {
tracker_log ("Received signal '%s' so now shutting down", sig_msg);
@@ -737,7 +737,7 @@
add_local_dbus_connection_monitoring (tracker->dbus_con);
- tracker->status = STATUS_INIT;
+ tracker_set_status (tracker, STATUS_INIT, 0, FALSE);
tracker->is_running = FALSE;
tracker->shutdown = FALSE;
Index: src/trackerd/tracker-email-evolution.c
===================================================================
--- src/trackerd/tracker-email-evolution.c (revision 1267)
+++ src/trackerd/tracker-email-evolution.c (working copy)
@@ -1418,9 +1418,8 @@
email_free_mail_message (mail_msg);
if (!tracker_cache_process_events (db_con->data, TRUE)) {
- tracker->status = STATUS_SHUTDOWN;
+ tracker_set_status (tracker, STATUS_SHUTDOWN, 0, TRUE);
tracker->shutdown = TRUE;
- tracker_dbus_send_index_status_change_signal ();
return;
}
Index: src/trackerd/tracker-process-files.c
===================================================================
--- src/trackerd/tracker-process-files.c (revision 1267)
+++ src/trackerd/tracker-process-files.c (working copy)
@@ -1143,7 +1143,7 @@
tracker->index_status = INDEX_FINISHED;
if (tracker->is_running && tracker->first_time_index) {
- tracker->status = STATUS_OPTIMIZING;
+ tracker_set_status (tracker, STATUS_OPTIMIZING, 0, FALSE);
tracker->do_optimize = FALSE;
tracker->first_time_index = FALSE;
@@ -1170,8 +1170,7 @@
* sleep until awoken by a new
* signal.
*/
- tracker->status = STATUS_IDLE;
- tracker_dbus_send_index_status_change_signal ();
+ tracker_set_status (tracker, STATUS_IDLE, 0, TRUE);
g_cond_wait (tracker->file_thread_signal,
tracker->files_signal_mutex);
@@ -1493,16 +1492,12 @@
db_con = tracker->index_db;
if (!tracker_cache_process_events (tracker->index_db, TRUE) ) {
- tracker->status = STATUS_SHUTDOWN;
- tracker_dbus_send_index_status_change_signal ();
+ tracker_set_status (tracker, STATUS_SHUTDOWN, 0, TRUE);
break;
}
- if (tracker->status != STATUS_INDEXING) {
- tracker->status = STATUS_INDEXING;
- tracker_dbus_send_index_status_change_signal ();
- }
-
+ tracker_set_status (tracker, STATUS_INDEXING, 0, TRUE);
+
info = g_async_queue_try_pop (tracker->file_process_queue);
/* Check pending table if we haven't got anything */
@@ -1535,7 +1530,7 @@
if (res) {
gchar **row;
- tracker->status = STATUS_PENDING;
+ tracker_set_status (tracker, STATUS_PENDING, 0, FALSE);
while ((row = tracker_db_get_row (res, k))) {
FileInfo *info_tmp;
@@ -1576,7 +1571,7 @@
continue;
}
- tracker->status = STATUS_INDEXING;
+ tracker_set_status (tracker, STATUS_INDEXING, 0, TRUE);
if (process_action_prechecks (tracker, info)) {
continue;
Index: src/trackerd/tracker-indexer.c
===================================================================
--- src/trackerd/tracker-indexer.c (revision 1267)
+++ src/trackerd/tracker-indexer.c (working copy)
@@ -690,8 +690,7 @@
if (i > 101 && (i % 100 == 0)) {
if (!tracker_cache_process_events (NULL, FALSE)) {
- tracker->status = STATUS_SHUTDOWN;
- tracker_dbus_send_index_status_change_signal ();
+ tracker_set_status (tracker, STATUS_SHUTDOWN, 0, TRUE);
return;
}
}
_______________________________________________
tracker-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/tracker-list