[tracker/urn-in-extractor: 1/3] Pass item URN to tracker-extract.



commit 27ac12e9f107cade7037fd818667e8e6f64c7820
Author: Carlos Garnacho <carlos lanedo com>
Date:   Wed Feb 24 11:02:30 2010 +0100

    Pass item URN to tracker-extract.
    
    Certain extractors (mostly, playlists one), need the current item
    URN in order to produce correct SparQL. So now this is passed
    in the DBus call to the extractor.

 data/dbus/tracker-extract.xml              |    1 +
 src/tracker-extract/tracker-extract.c      |    1 +
 src/tracker-extract/tracker-extract.h      |    1 +
 src/tracker-miner-fs/tracker-miner-files.c |    7 +++++--
 4 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/data/dbus/tracker-extract.xml b/data/dbus/tracker-extract.xml
index 308f211..31ddffa 100644
--- a/data/dbus/tracker-extract.xml
+++ b/data/dbus/tracker-extract.xml
@@ -19,6 +19,7 @@
       <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
       <arg type="s" name="uri" direction="in" />
       <arg type="s" name="mime" direction="in" />
+      <arg type="s" name="urn" direction="in" />
       <arg type="s" name="preupdate" direction="out" />
       <arg type="s" name="embedded" direction="out" />
     </method>
diff --git a/src/tracker-extract/tracker-extract.c b/src/tracker-extract/tracker-extract.c
index 88f8657..2304794 100644
--- a/src/tracker-extract/tracker-extract.c
+++ b/src/tracker-extract/tracker-extract.c
@@ -496,6 +496,7 @@ void
 tracker_extract_get_metadata (TrackerExtract         *object,
                               const gchar            *uri,
                               const gchar            *mime,
+                              const gchar            *urn,
                               DBusGMethodInvocation  *context,
                               GError                **error)
 {
diff --git a/src/tracker-extract/tracker-extract.h b/src/tracker-extract/tracker-extract.h
index 597421a..6b892d1 100644
--- a/src/tracker-extract/tracker-extract.h
+++ b/src/tracker-extract/tracker-extract.h
@@ -57,6 +57,7 @@ void            tracker_extract_get_pid                 (TrackerExtract
 void            tracker_extract_get_metadata            (TrackerExtract         *object,
                                                          const gchar            *uri,
                                                          const gchar            *mime,
+                                                         const gchar            *urn,
                                                          DBusGMethodInvocation  *context,
                                                          GError                **error);
 
diff --git a/src/tracker-miner-fs/tracker-miner-files.c b/src/tracker-miner-fs/tracker-miner-files.c
index d886458..2911c8e 100644
--- a/src/tracker-miner-fs/tracker-miner-files.c
+++ b/src/tracker-miner-fs/tracker-miner-files.c
@@ -1559,11 +1559,13 @@ extractor_get_embedded_metadata_cancel (GCancellable    *cancellable,
 static void
 extractor_get_embedded_metadata (ProcessFileData *data,
                                  const gchar     *uri,
-                                 const gchar     *mime_type)
+                                 const gchar     *mime_type,
+                                 const gchar     *urn)
 {
 	data->call = org_freedesktop_Tracker1_Extract_get_metadata_async (data->miner->private->extractor_proxy,
 	                                                                  uri,
 	                                                                  mime_type,
+	                                                                  urn,
 	                                                                  extractor_get_embedded_metadata_cb,
 	                                                                  data);
 	g_signal_connect (data->cancellable, "cancelled",
@@ -1659,7 +1661,8 @@ process_file_cb (GObject      *object,
 	miner_files_add_to_datasource (data->miner, file, sparql);
 
 	/* Next step, getting embedded metadata */
-	extractor_get_embedded_metadata (data, uri, mime_type);
+	extractor_get_embedded_metadata (data, uri, mime_type,
+	                                 (is_iri) ? urn : NULL);
 
 	g_object_unref (file_info);
 	g_free (uri);



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