glib r6784 - in trunk: docs/reference docs/reference/gio gio



Author: matthiasc
Date: Mon Mar 31 05:46:22 2008
New Revision: 6784
URL: http://svn.gnome.org/viewvc/glib?rev=6784&view=rev

Log:
2008-03-30  Matthias Clasen  <mclasen redhat com>

        * gio.symbols:
        * gfile.c:
        * gfile.h: Add g_file_query_file_type convenience function
        to query the type of a file.  (#520715, Mikkel Kamstrup Erlandsen)




Modified:
   trunk/docs/reference/ChangeLog
   trunk/docs/reference/gio/gio-sections.txt
   trunk/gio/ChangeLog
   trunk/gio/gfile.c
   trunk/gio/gfile.h
   trunk/gio/gio.symbols

Modified: trunk/docs/reference/gio/gio-sections.txt
==============================================================================
--- trunk/docs/reference/gio/gio-sections.txt	(original)
+++ trunk/docs/reference/gio/gio-sections.txt	Mon Mar 31 05:46:22 2008
@@ -70,6 +70,7 @@
 g_file_query_info_async
 g_file_query_info_finish
 g_file_query_exists
+g_file_query_file_type
 g_file_query_filesystem_info
 g_file_query_filesystem_info_async
 g_file_query_filesystem_info_finish

Modified: trunk/gio/gfile.c
==============================================================================
--- trunk/gio/gfile.c	(original)
+++ trunk/gio/gfile.c	Mon Mar 31 05:46:22 2008
@@ -931,8 +931,7 @@
   g_return_val_if_fail (G_IS_FILE(file), FALSE);
   
   info = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_TYPE,
-			    G_FILE_QUERY_INFO_NONE,
-			    cancellable, NULL);
+			    G_FILE_QUERY_INFO_NONE, cancellable, NULL);
   if (info != NULL)
     {
       g_object_unref (info);
@@ -943,6 +942,45 @@
 }
 
 /**
+ * g_file_query_file_type:
+ * @file: input #GFile.
+ * @flags: a set of #GFileQueryInfoFlags passed to g_file_query_info().
+ * @cancellable: optional #GCancellable object, %NULL to ignore.
+ *
+ * Utility function to inspect the #GFileType of a file. This is
+ * implemented using g_file_query_info() and as such does blocking I/O.
+ *
+ * The primary use case of this method is to check if a file is a regular file,
+ * directory, or symlink.
+ * 
+ * Returns: The #GFileType of the file and #G_FILE_TYPE_UNKNOWN if the file
+ *          does not exist
+ *
+ * Since: 2.18
+ */
+GFileType
+g_file_query_file_type (GFile *file,
+                        GFileQueryInfoFlags   flags,
+		 	GCancellable *cancellable)
+{
+  GFileInfo *info;
+  GFileType file_type;
+  
+  g_return_val_if_fail (G_IS_FILE(file), FALSE);
+  info = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_TYPE, flags,
+			    cancellable, NULL);
+  if (info != NULL)
+    {
+      file_type = g_file_info_get_file_type (info);
+      g_object_unref (info);
+    }
+  else
+    file_type = G_FILE_TYPE_UNKNOWN;
+  
+  return file_type;
+}
+
+/**
  * g_file_query_info:
  * @file: input #GFile.
  * @attributes: an attribute query string.

Modified: trunk/gio/gfile.h
==============================================================================
--- trunk/gio/gfile.h	(original)
+++ trunk/gio/gfile.h	Mon Mar 31 05:46:22 2008
@@ -646,6 +646,9 @@
 							   GError                    **error);
 gboolean                g_file_query_exists               (GFile                      *file,
 							   GCancellable               *cancellable);
+GFileType               g_file_query_file_type            (GFile                      *file,
+                                                           GFileQueryInfoFlags         flags,
+                                                           GCancellable               *cancellable);
 GFileInfo *             g_file_query_info                 (GFile                      *file,
 							   const char                 *attributes,
 							   GFileQueryInfoFlags         flags,

Modified: trunk/gio/gio.symbols
==============================================================================
--- trunk/gio/gio.symbols	(original)
+++ trunk/gio/gio.symbols	Mon Mar 31 05:46:22 2008
@@ -252,6 +252,7 @@
 g_file_query_info
 g_file_query_info_async
 g_file_query_info_finish
+g_file_query_file_type
 g_file_query_filesystem_info
 g_file_query_filesystem_info_async
 g_file_query_filesystem_info_finish



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