gio.file_info
Module for [FileInfo] class
Types 3
Stores information about a file system object referenced by a [gio.file.File].
Functionality for manipulating basic metadata for files. [gio.file_info.FileInfo] implements methods for getting information that all files should contain, and allows for manipulation of extended attributes.
See file-attributes.html for more information on how GIO handles file attributes.
To obtain a [gio.file_info.FileInfo] for a [gio.file.File], use [gio.file.File.queryInfo] (or its async variant). To obtain a [gio.file_info.FileInfo] for a file input or output stream, use [gio.file_input_stream.FileInputStream.queryInfo] or [gio.file_output_stream.FileOutputStream.queryInfo] (or their async variants).
To change the actual attributes of a file, you should then set the attribute in the [gio.file_info.FileInfo] and call [gio.file.File.setAttributesFromInfo] or [gio.file.File.setAttributesAsync] on a [gio.file.File].
However, not all attributes can be changed in the file. For instance, the actual size of a file cannot be changed via [gio.file_info.FileInfo.setSize]. You may call [gio.file.File.querySettableAttributes] and [gio.file.File.queryWritableNamespaces] to discover the settable attributes of a particular file at runtime.
The direct accessors, such as [gio.file_info.FileInfo.getName], are slightly more optimized than the generic attribute accessors, such as [gio.file_info.FileInfo.getAttributeByteString].This optimization will matter only if calling the API in a tight loop.
It is an error to call these accessors without specifying their required file attributes when creating the [gio.file_info.FileInfo]. Use [gio.file_info.FileInfo.hasAttribute] or [gio.file_info.FileInfo.listAttributes] to check what attributes are specified for a [gio.file_info.FileInfo].
[gio.file_attribute_matcher.FileAttributeMatcher] allows for searching through a [gio.file_info.FileInfo] for attributes.
FileInfoGidBuilder builder()Get builder for [gio.file_info.FileInfo] Returns: New builder objectvoid clearStatus()Clears the status information from info.void copyInto(gio.file_info.FileInfo destInfo)First clears all of the [GFileAttribute][gio-GFileAttribute] of destinfo, and then copies all of the file attributes from srcinfo to dest_info.gio.file_info.FileInfo dup()Duplicates a file info structure. Returns: a duplicate #GFileInfo of other.glib.date_time.DateTime getAccessDateTime()Gets the access time of the current info and returns it as a #GDateTime.string getAttributeAsString(string attribute)Gets the value of an attribute, formatted as a string. This escapes things as needed to make the string valid UTF-8.bool getAttributeBoolean(string attribute)Gets the value of a boolean attribute. If the attribute does not contain a boolean value, false will be returned.string getAttributeByteString(string attribute)Gets the value of a byte string attribute. If the attribute does not contain a byte string, null will be returned.bool getAttributeData(string attribute, out gio.types.FileAttributeType type, out void * valuePp, out gio.types.FileAttributeStatus status)Gets the attribute type, value and status for an attribute key.string getAttributeFilePath(string attribute)Gets the value of a byte string attribute as a file path.int getAttributeInt32(string attribute)Gets a signed 32-bit integer contained within the attribute. If the attribute does not contain a signed 32-bit integer, or is invalid, 0 will be returned.long getAttributeInt64(string attribute)Gets a signed 64-bit integer contained within the attribute. If the attribute does not contain a signed 64-bit integer, or is invalid, 0 will be returned.gobject.object.ObjectWrap getAttributeObject(string attribute)Gets the value of a #GObject attribute. If the attribute does not contain a #GObject, null will be returned.gio.types.FileAttributeStatus getAttributeStatus(string attribute)Gets the attribute status for an attribute key.string getAttributeString(string attribute)Gets the value of a string attribute. If the attribute does not contain a string, null will be returned.string[] getAttributeStringv(string attribute)Gets the value of a stringv attribute. If the attribute does not contain a stringv, null will be returned.gio.types.FileAttributeType getAttributeType(string attribute)Gets the attribute type for an attribute key.uint getAttributeUint32(string attribute)Gets an unsigned 32-bit integer contained within the attribute. If the attribute does not contain an unsigned 32-bit integer, or is invalid, 0 will be returned.ulong getAttributeUint64(string attribute)Gets a unsigned 64-bit integer contained within the attribute. If the attribute does not contain an unsigned 64-bit integer, or is invalid, 0 will be returned.string getContentType()Gets the file's content type.glib.date_time.DateTime getCreationDateTime()Gets the creation time of the current info and returns it as a #GDateTime.glib.date_time.DateTime getDeletionDate()Returns the #GDateTime representing the deletion date of the file, as available in [gio.types.FILEATTRIBUTETRASHDELETIONDATE]. If the [gio.types.FILEATTRIBUTETRASHDELETIONDATE] attribute is unset, ...string getDisplayName()Gets a display name for a file. This is guaranteed to always be set.string getEditName()Gets the edit name for a file.string getEtag()Gets the [entity tag](iface.File.html#entity-tags) for a given #GFileInfo. See [gio.types.FILEATTRIBUTEETAG_VALUE].gio.types.FileType getFileType()Gets a file's type (whether it is a regular file, symlink, etc). This is different from the file's content type, see [gio.file_info.FileInfo.getContentType].gio.icon.Icon getIcon()Gets the icon for a file.bool getIsBackup()Checks if a file is a backup file.bool getIsHidden()Checks if a file is hidden.bool getIsSymlink()Checks if a file is a symlink.glib.date_time.DateTime getModificationDateTime()Gets the modification time of the current info and returns it as a #GDateTime.void getModificationTime(out glib.time_val.TimeVal result)Gets the modification time of the current info and sets it in result.string getName()Gets the name for a file. This is guaranteed to always be set.long getSize()Gets the file's size (in bytes). The size is retrieved through the value of the [gio.types.FILEATTRIBUTESTANDARD_SIZE] attribute and is converted from #guint64 to #goffset before returning the result.int getSortOrder()Gets the value of the sortorder attribute from the #GFileInfo. See [gio.types.FILEATTRIBUTESTANDARDSORT_ORDER].gio.icon.Icon getSymbolicIcon()Gets the symbolic icon for a file.string getSymlinkTarget()Gets the symlink target for a given #GFileInfo.bool hasAttribute(string attribute)Checks if a file info structure has an attribute named attribute.bool hasNamespace(string nameSpace)Checks if a file info structure has an attribute in the specified name_space.string[] listAttributes(string nameSpace = null)Lists the file info structure's attributes.void removeAttribute(string attribute)Removes all cases of attribute from info if it exists.void setAccessDateTime(glib.date_time.DateTime atime)Sets the [gio.types.FILEATTRIBUTETIMEACCESS] and [gio.types.FILEATTRIBUTETIMEACCESS_USEC] attributes in the file info to the given date/time value.void setAttribute(string attribute, gio.types.FileAttributeType type, void * valueP)Sets the attribute to contain the given value, if possible. To unset the attribute, use [gio.types.FileAttributeType.Invalid] for type.void setAttributeBoolean(string attribute, bool attrValue)Sets the attribute to contain the given attr_value, if possible.void setAttributeByteString(string attribute, string attrValue)Sets the attribute to contain the given attr_value, if possible.void setAttributeFilePath(string attribute, string attrValue)Sets the attribute to contain the given attr_value, if possible.void setAttributeInt32(string attribute, int attrValue)Sets the attribute to contain the given attr_value, if possible.void setAttributeInt64(string attribute, long attrValue)Sets the attribute to contain the given attr_value, if possible.void setAttributeMask(gio.file_attribute_matcher.FileAttributeMatcher mask)Sets mask on info to match specific attribute types.void setAttributeObject(string attribute, gobject.object.ObjectWrap attrValue)Sets the attribute to contain the given attr_value, if possible.bool setAttributeStatus(string attribute, gio.types.FileAttributeStatus status)Sets the attribute status for an attribute key. This is only needed by external code that implement [gio.file.File.setAttributesFromInfo] or similar functions.void setAttributeString(string attribute, string attrValue)Sets the attribute to contain the given attr_value, if possible.void setAttributeStringv(string attribute, string[] attrValue)Sets the attribute to contain the given attr_value, if possible.void setAttributeUint32(string attribute, uint attrValue)Sets the attribute to contain the given attr_value, if possible.void setAttributeUint64(string attribute, ulong attrValue)Sets the attribute to contain the given attr_value, if possible.void setContentType(string contentType)Sets the content type attribute for a given #GFileInfo. See [gio.types.FILEATTRIBUTESTANDARDCONTENTTYPE].void setCreationDateTime(glib.date_time.DateTime creationTime)Sets the [gio.types.FILEATTRIBUTETIMECREATED] and [gio.types.FILEATTRIBUTETIMECREATED_USEC] attributes in the file info to the given date/time value.void setDisplayName(string displayName)Sets the display name for the current #GFileInfo. See [gio.types.FILEATTRIBUTESTANDARDDISPLAYNAME].void setEditName(string editName)Sets the edit name for the current file. See [gio.types.FILEATTRIBUTESTANDARDEDITNAME].void setFileType(gio.types.FileType type)Sets the file type in a #GFileInfo to type. See [gio.types.FILEATTRIBUTESTANDARD_TYPE].void setIcon(gio.icon.Icon icon)Sets the icon for a given #GFileInfo. See [gio.types.FILEATTRIBUTESTANDARD_ICON].void setIsHidden(bool isHidden)Sets the "ishidden" attribute in a #GFileInfo according to ishidden. See [gio.types.FILEATTRIBUTESTANDARDISHIDDEN].void setIsSymlink(bool isSymlink)Sets the "issymlink" attribute in a #GFileInfo according to issymlink. See [gio.types.FILEATTRIBUTESTANDARDISSYMLINK].void setModificationDateTime(glib.date_time.DateTime mtime)Sets the [gio.types.FILEATTRIBUTETIMEMODIFIED] and [gio.types.FILEATTRIBUTETIMEMODIFIED_USEC] attributes in the file info to the given date/time value.void setModificationTime(glib.time_val.TimeVal mtime)Sets the [gio.types.FILEATTRIBUTETIMEMODIFIED] and [gio.types.FILEATTRIBUTETIMEMODIFIED_USEC] attributes in the file info to the given time value.void setName(string name)Sets the name attribute for the current #GFileInfo. See [gio.types.FILEATTRIBUTESTANDARD_NAME].void setSize(long size)Sets the [gio.types.FILEATTRIBUTESTANDARD_SIZE] attribute in the file info to the given size.void setSortOrder(int sortOrder)Sets the sort order attribute in the file info structure. See [gio.types.FILEATTRIBUTESTANDARDSORTORDER].void setSymbolicIcon(gio.icon.Icon icon)Sets the symbolic icon for a given #GFileInfo. See [gio.types.FILEATTRIBUTESTANDARDSYMBOLICICON].void setSymlinkTarget(string symlinkTarget)Sets the [gio.types.FILEATTRIBUTESTANDARDSYMLINKTARGET] attribute in the file info to the given symlink target.void unsetAttributeMask()Unsets a mask set by [gio.file_info.FileInfo.setAttributeMask], if one is set.