[tracker] libtracker-miner: Add tracker_file_notifier_get_file_type()



commit 8c54ccedf7af9f5cc33d0886f51a72dafde37f50
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Jul 21 20:39:47 2015 +0200

    libtracker-miner: Add tracker_file_notifier_get_file_type()
    
    Just plug the hole from the internal TrackerFileSystem, will be
    handy for fast file type checks at the TrackerMinerFS level.

 src/libtracker-miner/tracker-file-notifier.c |   22 ++++++++++++++++++++++
 src/libtracker-miner/tracker-file-notifier.h |    3 +++
 2 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-file-notifier.c b/src/libtracker-miner/tracker-file-notifier.c
index 088b982..2862490 100644
--- a/src/libtracker-miner/tracker-file-notifier.c
+++ b/src/libtracker-miner/tracker-file-notifier.c
@@ -1759,3 +1759,25 @@ tracker_file_notifier_invalidate_file_iri (TrackerFileNotifier *notifier,
                                          quark_property_iri,
                                          NULL);
 }
+
+GFileType
+tracker_file_notifier_get_file_type (TrackerFileNotifier *notifier,
+                                     GFile               *file)
+{
+       TrackerFileNotifierPrivate *priv;
+       GFile *canonical;
+
+       g_return_if_fail (TRACKER_IS_FILE_NOTIFIER (notifier));
+       g_return_if_fail (G_IS_FILE (file));
+
+       priv = notifier->priv;
+       canonical = tracker_file_system_get_file (priv->file_system,
+                                                 file,
+                                                 G_FILE_TYPE_REGULAR,
+                                                 NULL);
+       if (!canonical) {
+               return G_FILE_TYPE_UNKNOWN;
+       }
+
+       return tracker_file_system_get_file_type (priv->file_system, canonical);
+}
diff --git a/src/libtracker-miner/tracker-file-notifier.h b/src/libtracker-miner/tracker-file-notifier.h
index 51e70a2..e365774 100644
--- a/src/libtracker-miner/tracker-file-notifier.h
+++ b/src/libtracker-miner/tracker-file-notifier.h
@@ -93,6 +93,9 @@ const gchar * tracker_file_notifier_get_file_iri (TrackerFileNotifier     *notif
 void          tracker_file_notifier_invalidate_file_iri (TrackerFileNotifier *notifier,
                                                          GFile               *file);
 
+GFileType     tracker_file_notifier_get_file_type (TrackerFileNotifier *notifier,
+                                                   GFile               *file);
+
 G_END_DECLS
 
 #endif /* __TRACKER_FILE_SYSTEM_H__ */


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