mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-11-04 01:58:54 +01:00 
			
		
		
		
	Merge branch '3658-file-info-docs' into 'main'
gfile: Expand documentation around file info for inaccessible files See merge request GNOME/glib!4585
This commit is contained in:
		
							
								
								
									
										53
									
								
								gio/gfile.c
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								gio/gfile.c
									
									
									
									
									
								
							@@ -1288,46 +1288,57 @@ g_file_query_file_type (GFile               *file,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * g_file_query_info:
 | 
			
		||||
 * @file: input #GFile
 | 
			
		||||
 * @file: input file
 | 
			
		||||
 * @attributes: an attribute query string
 | 
			
		||||
 * @flags: a set of #GFileQueryInfoFlags
 | 
			
		||||
 * @cancellable: (nullable): optional #GCancellable object,
 | 
			
		||||
 *   %NULL to ignore
 | 
			
		||||
 * @error: a #GError
 | 
			
		||||
 * @flags: flags to affect the query operation
 | 
			
		||||
 * @cancellable: (nullable): optional cancellable object
 | 
			
		||||
 * @error: return location for an error
 | 
			
		||||
 *
 | 
			
		||||
 * Gets the requested information about specified @file.
 | 
			
		||||
 * The result is a #GFileInfo object that contains key-value
 | 
			
		||||
 *
 | 
			
		||||
 * The result is a [class@Gio.FileInfo] object that contains key-value
 | 
			
		||||
 * attributes (such as the type or size of the file).
 | 
			
		||||
 *
 | 
			
		||||
 * The @attributes value is a string that specifies the file
 | 
			
		||||
 * attributes that should be gathered. It is not an error if
 | 
			
		||||
 * it's not possible to read a particular requested attribute
 | 
			
		||||
 * from a file - it just won't be set. @attributes should be a
 | 
			
		||||
 * comma-separated list of attributes or attribute wildcards.
 | 
			
		||||
 * The wildcard "*" means all attributes, and a wildcard like
 | 
			
		||||
 * "standard::*" means all attributes in the standard namespace.
 | 
			
		||||
 * An example attribute query be "standard::*,owner::user".
 | 
			
		||||
 * The standard attributes are available as defines, like
 | 
			
		||||
 * %G_FILE_ATTRIBUTE_STANDARD_NAME.
 | 
			
		||||
 * it’s not possible to read a particular requested attribute
 | 
			
		||||
 * from a file — it just won't be set. In particular this means that if a file
 | 
			
		||||
 * is inaccessible (due to being in a folder with restrictive permissions), for
 | 
			
		||||
 * example, you can expect the returned [class@Gio.FileInfo] to have very few
 | 
			
		||||
 * attributes set. You should check whether an attribute is set using
 | 
			
		||||
 * [method@Gio.FileInfo.has_attribute] before trying to retrieve its value.
 | 
			
		||||
 *
 | 
			
		||||
 * If @cancellable is not %NULL, then the operation can be cancelled
 | 
			
		||||
 * It is guaranteed that if any of the following attributes are listed in
 | 
			
		||||
 * @attributes, they will always be set in the returned [class@Gio.FileInfo],
 | 
			
		||||
 * even if the user doesn’t have permissions to access the file:
 | 
			
		||||
 *
 | 
			
		||||
 *  - [const@Gio.FILE_ATTRIBUTE_STANDARD_NAME]
 | 
			
		||||
 *  - [const@Gio.FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME]
 | 
			
		||||
 *
 | 
			
		||||
 * @attributes should be a comma-separated list of attributes or attribute
 | 
			
		||||
 * wildcards. The wildcard `"*"` means all attributes, and a wildcard like
 | 
			
		||||
 * `"standard::*"` means all attributes in the standard namespace.
 | 
			
		||||
 * An example attribute query might be `"standard::*,owner::user"`.
 | 
			
		||||
 * The standard attributes are available as defines, like
 | 
			
		||||
 * [const@Gio.FILE_ATTRIBUTE_STANDARD_NAME].
 | 
			
		||||
 *
 | 
			
		||||
 * If @cancellable is not `NULL`, then the operation can be cancelled
 | 
			
		||||
 * by triggering the cancellable object from another thread. If the
 | 
			
		||||
 * operation was cancelled, the error %G_IO_ERROR_CANCELLED will be
 | 
			
		||||
 * operation was cancelled, the error [error@Gio.IOErrorEnum.CANCELLED] will be
 | 
			
		||||
 * returned.
 | 
			
		||||
 *
 | 
			
		||||
 * For symlinks, normally the information about the target of the
 | 
			
		||||
 * symlink is returned, rather than information about the symlink
 | 
			
		||||
 * itself. However if you pass %G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS
 | 
			
		||||
 * itself. However if you pass [flags@Gio.FileQueryInfoFlags.NOFOLLOW_SYMLINKS]
 | 
			
		||||
 * in @flags the information about the symlink itself will be returned.
 | 
			
		||||
 * Also, for symlinks that point to non-existing files the information
 | 
			
		||||
 * about the symlink itself will be returned.
 | 
			
		||||
 *
 | 
			
		||||
 * If the file does not exist, the %G_IO_ERROR_NOT_FOUND error will be
 | 
			
		||||
 * If the file does not exist, the [error@Gio.IOErrorEnum.NOT_FOUND] error will be
 | 
			
		||||
 * returned. Other errors are possible too, and depend on what kind of
 | 
			
		||||
 * filesystem the file is on.
 | 
			
		||||
 * file system the file is on.
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full): a #GFileInfo for the given @file, or %NULL
 | 
			
		||||
 *   on error. Free the returned object with g_object_unref().
 | 
			
		||||
 * Returns: (transfer full): a [class@Gio.FileInfo] for the given @file
 | 
			
		||||
 */
 | 
			
		||||
GFileInfo *
 | 
			
		||||
g_file_query_info (GFile                *file,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user