[tracker/wip/carlosg/domain-ontologies: 4/5] tracker-miner-apps: If there is a domain, set watch on it



commit 4bb61fc349d02fe12a796a552c778915d876b816
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Jun 21 21:44:15 2017 +0200

    tracker-miner-apps: If there is a domain, set watch on it
    
    And exit as soon as the name vanishes. It may safely continue
    its operations on the next startup.

 src/miners/apps/tracker-main.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/src/miners/apps/tracker-main.c b/src/miners/apps/tracker-main.c
index 0d46cd0..d82dc06 100644
--- a/src/miners/apps/tracker-main.c
+++ b/src/miners/apps/tracker-main.c
@@ -167,6 +167,15 @@ miner_finished_cb (TrackerMinerFS *fs,
        }
 }
 
+static void
+on_domain_vanished (GDBusConnection *connection,
+                    const gchar     *name,
+                    gpointer         user_data)
+{
+       GMainLoop *loop = user_data;
+       g_main_loop_quit (loop);
+}
+
 int
 main (gint argc, gchar *argv[])
 {
@@ -251,6 +260,13 @@ main (gint argc, gchar *argv[])
 
        main_loop = g_main_loop_new (NULL, FALSE);
 
+       if (domain_ontology && domain_ontology_name) {
+               g_bus_watch_name_on_connection (connection, domain_ontology_name,
+                                               G_BUS_NAME_WATCHER_FLAGS_NONE,
+                                               NULL, on_domain_vanished,
+                                               main_loop, NULL);
+       }
+
        g_message ("Checking if we're running as a daemon:");
        g_message ("  %s %s",
                   no_daemon ? "No" : "Yes",


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