From 557ac36e50842e6fb89c69bf269bfaa3349499a4 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Thu, 10 Mar 2011 13:12:55 +0100 Subject: tracker-extract: Use module manager from libtracker-extract Also fixed mockup example to use new APIs --- examples/libtracker-extract/01-mockup.rule.in | 4 +++ examples/libtracker-extract/Makefile.am | 11 ++++++ .../libtracker-extract/tracker-extract-mockup.c | 41 ++++++++-------------- 3 files changed, 29 insertions(+), 27 deletions(-) create mode 100644 examples/libtracker-extract/01-mockup.rule.in (limited to 'examples') diff --git a/examples/libtracker-extract/01-mockup.rule.in b/examples/libtracker-extract/01-mockup.rule.in new file mode 100644 index 000000000..31d56b561 --- /dev/null +++ b/examples/libtracker-extract/01-mockup.rule.in @@ -0,0 +1,4 @@ +[ExtractorRule] +ModulePath=@modulesdir@/libextract-mp3.so +MimeTypes=audio/mpeg;audio/x-mp3; + diff --git a/examples/libtracker-extract/Makefile.am b/examples/libtracker-extract/Makefile.am index 798c73c2c..74cdc435f 100644 --- a/examples/libtracker-extract/Makefile.am +++ b/examples/libtracker-extract/Makefile.am @@ -19,3 +19,14 @@ libextract_mockup_la_LIBADD = \ $(BUILD_LIBS) \ $(LIBTRACKER_EXTRACT_LIBS) +rules_in_files = 01-mockup.rule.in + +%.rule: %.rule.in + @sed -e "s|@modulesdir[@]|${modulesdir}|" $< > $@ + +rulesdir = $(datadir)/tracker/extract-rules +rules_DATA = 01-mockup.rule + +CLEANFILES = $(rules_DATA) + +EXTRA_DIST = $(rules_in_files) \ No newline at end of file diff --git a/examples/libtracker-extract/tracker-extract-mockup.c b/examples/libtracker-extract/tracker-extract-mockup.c index afb60df99..3ddb94b86 100644 --- a/examples/libtracker-extract/tracker-extract-mockup.c +++ b/examples/libtracker-extract/tracker-extract-mockup.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010, Your name + * Copyright (C) 2011, Your name * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -26,22 +26,17 @@ #include #include -static void extract_mockup (const gchar *uri, - TrackerSparqlBuilder *preupdate, - TrackerSparqlBuilder *metadata); - -static TrackerExtractData data[] = { - /* TODO: Insert mime types and functions here. */ - { "audio/mpeg", extract_mockup }, - { "audio/x-mp3", extract_mockup }, - { NULL, NULL } -}; - -static void -extract_mockup (const gchar *uri, - TrackerSparqlBuilder *preupdate, - TrackerSparqlBuilder *metadata) +G_MODULE_EXPORT gboolean +tracker_extract_get_metadata (const gchar *uri, + const gchar *mimetype, + TrackerSparqlBuilder *preupdate, + TrackerSparqlBuilder *metadata) { + /* NOTE: This function has to exist, tracker-extract checks + * the symbole table for this function and if it doesn't + * exist, the module is not loaded to be used as an extractor. + */ + /* File information */ FILE *f; GFileInfo *info; @@ -105,7 +100,7 @@ extract_mockup (const gchar *uri, */ if (size < 64) { g_free (filename); - return; + return FALSE; } /* TODO: Open file */ @@ -113,7 +108,7 @@ extract_mockup (const gchar *uri, if (!f) { g_free (filename); - return; + return FALSE; } /* TODO: Get data from file. @@ -335,14 +330,6 @@ extract_mockup (const gchar *uri, g_free (composer); g_free (performer); g_free (filename); -} -TrackerExtractData * -tracker_extract_get_data (void) -{ - /* NOTE: This function has to exist, tracker-extract checks - * the symbole table for this function and if it doesn't - * exist, the module is not loaded to be used as an extractor. - */ - return data; + return TRUE; } -- cgit v1.2.1