[tracker/wip/passive-extraction: 10/16] tracker-extract: Turn into a full-blown miner
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/passive-extraction: 10/16] tracker-extract: Turn into a full-blown miner
- Date: Wed, 15 Jan 2014 17:17:02 +0000 (UTC)
commit 5e0c91c4d644ee2e723411ea6e9ae8df6b0764ee
Author: Carlos Garnacho <carlosg gnome org>
Date: Tue Jan 7 22:21:25 2014 +0100
tracker-extract: Turn into a full-blown miner
TrackerExtractDecorator is put in use, replacing TrackerController as
the master of TrackerExtract. .service and .desktop files are added as
appropriate so tracker-extract is recognized as a miner, handled by
tracker-control, etc...
data/dbus/Makefile.am | 4 +-
....freedesktop.Tracker1.Miner.Extract.service.in} | 2 +-
data/miners/Makefile.am | 3 ++
data/miners/tracker-miner-extract.desktop.in.in | 6 +++
src/tracker-extract/tracker-main.c | 39 ++++++++------------
5 files changed, 27 insertions(+), 27 deletions(-)
---
diff --git a/data/dbus/Makefile.am b/data/dbus/Makefile.am
index 193f799..a1717eb 100644
--- a/data/dbus/Makefile.am
+++ b/data/dbus/Makefile.am
@@ -23,7 +23,7 @@ service_in_files = \
org.freedesktop.Tracker1.Miner.Files.service.in \
org.freedesktop.Tracker1.Miner.Userguides.service.in \
org.freedesktop.Tracker1.Miner.RSS.service.in \
- org.freedesktop.Tracker1.Extract.service.in \
+ org.freedesktop.Tracker1.Miner.Extract.service.in \
org.freedesktop.Tracker1.Writeback.service.in
%.service: %.service.in
@@ -33,11 +33,11 @@ service_in_files = \
servicedir = $(DBUS_SERVICES_DIR)
service_DATA = \
org.freedesktop.Tracker1.service \
- org.freedesktop.Tracker1.Extract.service \
org.freedesktop.Tracker1.Writeback.service
if HAVE_TRACKER_MINER_FS
service_DATA += \
+ org.freedesktop.Tracker1.Miner.Extract.service \
org.freedesktop.Tracker1.Miner.Files.service \
org.freedesktop.Tracker1.Miner.Applications.service
diff --git a/data/dbus/org.freedesktop.Tracker1.Extract.service.in
b/data/dbus/org.freedesktop.Tracker1.Miner.Extract.service.in
similarity index 53%
rename from data/dbus/org.freedesktop.Tracker1.Extract.service.in
rename to data/dbus/org.freedesktop.Tracker1.Miner.Extract.service.in
index a9e906f..1df29c6 100644
--- a/data/dbus/org.freedesktop.Tracker1.Extract.service.in
+++ b/data/dbus/org.freedesktop.Tracker1.Miner.Extract.service.in
@@ -1,3 +1,3 @@
[D-BUS Service]
-Name=org.freedesktop.Tracker1.Extract
+Name=org.freedesktop.Tracker1.Miner.Extract
Exec= libexecdir@/tracker-extract
diff --git a/data/miners/Makefile.am b/data/miners/Makefile.am
index 272cef0..9dbef64 100644
--- a/data/miners/Makefile.am
+++ b/data/miners/Makefile.am
@@ -1,6 +1,7 @@
include $(top_srcdir)/Makefile.decl
desktop_in_in_files = \
+ tracker-miner-extract.desktop.in.in \
tracker-miner-userguides.desktop.in.in \
tracker-miner-applications.desktop.in.in \
tracker-miner-evolution.desktop.in.in \
@@ -8,6 +9,7 @@ desktop_in_in_files = \
tracker-miner-rss.desktop.in.in
desktop_in_files = \
+ tracker-miner-extract.desktop.in \
tracker-miner-userguides.desktop.in \
tracker-miner-applications.desktop.in \
tracker-miner-evolution.desktop.in \
@@ -20,6 +22,7 @@ tracker_miners_DATA =
if HAVE_TRACKER_MINER_FS
tracker_miners_DATA += \
+ tracker-miner-extract.desktop \
tracker-miner-applications.desktop \
tracker-miner-files.desktop
diff --git a/data/miners/tracker-miner-extract.desktop.in.in b/data/miners/tracker-miner-extract.desktop.in.in
new file mode 100644
index 0000000..1cf6302
--- /dev/null
+++ b/data/miners/tracker-miner-extract.desktop.in.in
@@ -0,0 +1,6 @@
+[Desktop Entry]
+_Name=Extractor
+_Comment=Metadata extractor
+Icon=folder
+DBusName=org.freedesktop.Tracker1.Miner.Extract
+DBusPath=/org/freedesktop/Tracker1/Miner/Extract
diff --git a/src/tracker-extract/tracker-main.c b/src/tracker-extract/tracker-main.c
index f38fac7..e065207 100644
--- a/src/tracker-extract/tracker-main.c
+++ b/src/tracker-extract/tracker-main.c
@@ -52,6 +52,7 @@
#include "tracker-main.h"
#include "tracker-extract.h"
#include "tracker-controller.h"
+#include "tracker-extract-decorator.h"
#ifdef THREAD_ENABLE_TRACE
#warning Main thread traces enabled
@@ -318,11 +319,10 @@ main (int argc, char *argv[])
{
GOptionContext *context;
GError *error = NULL;
- TrackerExtract *object;
- TrackerController *controller;
+ TrackerExtract *extract;
+ TrackerDecorator *decorator;
gchar *log_filename = NULL;
GMainLoop *my_main_loop;
- guint shutdown_timeout;
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
@@ -397,9 +397,6 @@ main (int argc, char *argv[])
g_free (log_filename);
}
- g_message ("Shutdown after 30 seconds of inactivity is %s",
- disable_shutdown ? "disabled" : "enabled");
-
sanity_check_option_values (config);
/* This makes sure we don't steal all the system's resources */
@@ -407,29 +404,21 @@ main (int argc, char *argv[])
tracker_db_manager_get_first_index_done () == FALSE);
tracker_memory_setrlimits ();
- if (disable_shutdown) {
- shutdown_timeout = 0;
- } else {
- shutdown_timeout = QUIT_TIMEOUT;
- }
-
- object = tracker_extract_new (disable_shutdown,
- force_internal_extractors,
- force_module);
+ extract = tracker_extract_new (TRUE,
+ force_internal_extractors,
+ force_module);
- if (!object) {
+ if (!extract) {
g_object_unref (config);
tracker_log_shutdown ();
return EXIT_FAILURE;
}
- controller = tracker_controller_new (object, shutdown_timeout, &error);
+ decorator = tracker_extract_decorator_new (extract, NULL, &error);
- if (!controller) {
- g_critical ("Controller thread failed to initialize: %s\n", error->message);
- g_error_free (error);
+ if (error) {
+ g_critical ("Could not start decorator: %s\n", error->message);
g_object_unref (config);
- g_object_unref (object);
tracker_log_shutdown ();
return EXIT_FAILURE;
}
@@ -442,6 +431,8 @@ main (int argc, char *argv[])
tracker_locale_init ();
tracker_media_art_init ();
+ tracker_miner_start (TRACKER_MINER (decorator));
+
/* Main loop */
main_loop = g_main_loop_new (NULL, FALSE);
g_main_loop_run (main_loop);
@@ -450,14 +441,14 @@ main (int argc, char *argv[])
main_loop = NULL;
g_main_loop_unref (my_main_loop);
- g_message ("Shutdown started");
+ tracker_miner_stop (TRACKER_MINER (decorator));
/* Shutdown subsystems */
tracker_media_art_shutdown ();
tracker_locale_shutdown ();
- g_object_unref (object);
- g_object_unref (controller);
+ g_object_unref (extract);
+ g_object_unref (decorator);
tracker_log_shutdown ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]