[tracker-miners/wip/carlosg/graphs: 13/20] libtracker-extract: Add means to store the graph in TrackerExtractInfo



commit d76b87f477ff3d1847cc3637f6b12098de94313b
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sun Apr 26 14:05:20 2020 +0200

    libtracker-extract: Add means to store the graph in TrackerExtractInfo

 src/libtracker-extract/tracker-extract-info.c        | 13 ++++++++++++-
 src/libtracker-extract/tracker-extract-info.h        |  4 +++-
 src/tracker-extract/tracker-extract.c                |  2 +-
 tests/libtracker-extract/tracker-extract-info-test.c |  4 ++--
 4 files changed, 18 insertions(+), 5 deletions(-)
---
diff --git a/src/libtracker-extract/tracker-extract-info.c b/src/libtracker-extract/tracker-extract-info.c
index 958aaf1d0..46e5fb700 100644
--- a/src/libtracker-extract/tracker-extract-info.c
+++ b/src/libtracker-extract/tracker-extract-info.c
@@ -43,6 +43,7 @@ struct _TrackerExtractInfo
 
        GFile *file;
        gchar *mimetype;
+       gchar *graph;
 
        gint ref_count;
 };
@@ -64,7 +65,8 @@ G_DEFINE_BOXED_TYPE (TrackerExtractInfo, tracker_extract_info,
  **/
 TrackerExtractInfo *
 tracker_extract_info_new (GFile       *file,
-                          const gchar *mimetype)
+                          const gchar *mimetype,
+                          const gchar *graph)
 {
        TrackerExtractInfo *info;
 
@@ -73,6 +75,7 @@ tracker_extract_info_new (GFile       *file,
        info = g_slice_new0 (TrackerExtractInfo);
        info->file = g_object_ref (file);
        info->mimetype = g_strdup (mimetype);
+       info->graph = g_strdup (graph);
 
        info->resource = NULL;
 
@@ -118,6 +121,7 @@ tracker_extract_info_unref (TrackerExtractInfo *info)
        if (g_atomic_int_dec_and_test (&info->ref_count)) {
                g_object_unref (info->file);
                g_free (info->mimetype);
+               g_free (info->graph);
 
                if (info->resource)
                        g_object_unref (info->resource);
@@ -165,6 +169,13 @@ tracker_extract_info_get_mimetype (TrackerExtractInfo *info)
        return info->mimetype;
 }
 
+const gchar *
+tracker_extract_info_get_graph (TrackerExtractInfo *info)
+{
+       g_return_val_if_fail (info != NULL, NULL);
+
+       return info->graph;
+}
 
 /**
  * tracker_extract_info_get_resource:
diff --git a/src/libtracker-extract/tracker-extract-info.h b/src/libtracker-extract/tracker-extract-info.h
index 537efb3b4..3751c6c94 100644
--- a/src/libtracker-extract/tracker-extract-info.h
+++ b/src/libtracker-extract/tracker-extract-info.h
@@ -36,11 +36,13 @@ typedef struct _TrackerExtractInfo TrackerExtractInfo;
 GType                 tracker_extract_info_get_type               (void) G_GNUC_CONST;
 
 TrackerExtractInfo *  tracker_extract_info_new                    (GFile              *file,
-                                                                   const gchar        *mimetype);
+                                                                   const gchar        *mimetype,
+                                                                   const gchar        *graph);
 TrackerExtractInfo *  tracker_extract_info_ref                    (TrackerExtractInfo *info);
 void                  tracker_extract_info_unref                  (TrackerExtractInfo *info);
 GFile *               tracker_extract_info_get_file               (TrackerExtractInfo *info);
 const gchar *         tracker_extract_info_get_mimetype           (TrackerExtractInfo *info);
+const gchar *         tracker_extract_info_get_graph              (TrackerExtractInfo *info);
 
 TrackerResource *     tracker_extract_info_get_resource           (TrackerExtractInfo *info);
 void                  tracker_extract_info_set_resource           (TrackerExtractInfo *info,
diff --git a/src/tracker-extract/tracker-extract.c b/src/tracker-extract/tracker-extract.c
index 98cf10205..d9df81172 100644
--- a/src/tracker-extract/tracker-extract.c
+++ b/src/tracker-extract/tracker-extract.c
@@ -272,7 +272,7 @@ get_file_metadata (TrackerExtractTask  *task,
        *info_out = NULL;
 
        file = g_file_new_for_uri (task->file);
-       info = tracker_extract_info_new (file, task->mimetype);
+       info = tracker_extract_info_new (file, task->mimetype, NULL);
        g_object_unref (file);
 
        if (task->mimetype && *task->mimetype) {
diff --git a/tests/libtracker-extract/tracker-extract-info-test.c 
b/tests/libtracker-extract/tracker-extract-info-test.c
index d189d44c3..33871a856 100644
--- a/tests/libtracker-extract/tracker-extract-info-test.c
+++ b/tests/libtracker-extract/tracker-extract-info-test.c
@@ -29,7 +29,7 @@ test_extract_info_setters (void)
 
         file = g_file_new_for_path ("./imaginary-file-2");
 
-        info = tracker_extract_info_new (file, "imaginary/mime");
+        info = tracker_extract_info_new (file, "imaginary/mime", NULL);
         info_ref = tracker_extract_info_ref (info);
 
         g_assert (g_file_equal (file, tracker_extract_info_get_file (info)));
@@ -50,7 +50,7 @@ test_extract_info_empty_objects (void)
 
         file = g_file_new_for_path ("./imaginary-file");
 
-        info = tracker_extract_info_new (file, "imaginary/mime");
+        info = tracker_extract_info_new (file, "imaginary/mime", NULL);
         info_ref = tracker_extract_info_ref (info);
 
         tracker_extract_info_unref (info_ref);


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