diff options
Diffstat (limited to 'src/miners/fs/tracker-main.c')
-rw-r--r-- | src/miners/fs/tracker-main.c | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/miners/fs/tracker-main.c b/src/miners/fs/tracker-main.c index 82636339c..3219190f8 100644 --- a/src/miners/fs/tracker-main.c +++ b/src/miners/fs/tracker-main.c @@ -54,6 +54,9 @@ #define SECONDS_PER_DAY 60 * 60 * 24 +#define DBUS_NAME "org.freedesktop.Tracker1.Miner.Files" +#define DBUS_PATH "/org/freedesktop/Tracker1/Miner/Files" + static void miner_handle_next (void); static GMainLoop *main_loop; @@ -661,7 +664,7 @@ miner_needs_check (TrackerMiner *miner, /* Check whether there are more pause * reasons than the store being out. */ - return tracker_miner_get_n_pause_reasons (miner) > 1; + return tracker_miner_is_paused (miner); } } } @@ -678,6 +681,8 @@ main (gint argc, gchar *argv[]) gboolean do_mtime_checking; gboolean force_mtime_checking = FALSE; gboolean store_available; + TrackerMinerProxy *proxy; + GDBusConnection *connection; main_loop = NULL; @@ -715,6 +720,21 @@ main (gint argc, gchar *argv[]) return EXIT_SUCCESS; } + connection = g_bus_get_sync (TRACKER_IPC_BUS, NULL, &error); + if (error) { + g_critical ("Could not create DBus connection: %s\n", + error->message); + g_error_free (error); + return EXIT_FAILURE; + } + + if (!tracker_dbus_request_name (connection, DBUS_NAME, &error)) { + g_critical ("Could not request DBus name '%s': %s", + DBUS_NAME, error->message); + g_error_free (error); + return EXIT_FAILURE; + } + /* Initialize logging */ config = tracker_config_new (); @@ -756,6 +776,16 @@ main (gint argc, gchar *argv[]) return EXIT_FAILURE; } + proxy = tracker_miner_proxy_new (miner_files, connection, DBUS_PATH, NULL, &error); + if (error) { + g_critical ("Couldn't create miner proxy: %s", error->message); + g_error_free (error); + g_object_unref (config); + g_object_unref (miner_files); + tracker_log_shutdown (); + return EXIT_FAILURE; + } + tracker_writeback_init (TRACKER_MINER_FILES (miner_files), config, &error); @@ -841,6 +871,9 @@ main (gint argc, gchar *argv[]) g_slist_foreach (miners, (GFunc) finalize_miner, NULL); g_slist_free (miners); + g_object_unref (proxy); + g_object_unref (connection); + tracker_writeback_shutdown (); tracker_log_shutdown (); |