[]Struct gio::FileInfo

pub struct FileInfo(_, _);

Functionality for manipulating basic metadata for files. FileInfo implements methods for getting information that all files should contain, and allows for manipulation of extended attributes.

See [GFileAttribute][gio-GFileAttribute] for more information on how GIO handles file attributes.

To obtain a FileInfo for a File, use File::query_info (or its async variant). To obtain a FileInfo for a file input or output stream, use FileInputStreamExt::query_info or FileOutputStreamExt::query_info (or their async variants).

To change the actual attributes of a file, you should then set the attribute in the FileInfo and call File::set_attributes_from_info or File::set_attributes_async on a GFile.

However, not all attributes can be changed in the file. For instance, the actual size of a file cannot be changed via FileInfo::set_size. You may call File::query_settable_attributes and File::query_writable_namespaces to discover the settable attributes of a particular file at runtime.

FileAttributeMatcher allows for searching through a FileInfo for attributes.

Implements

glib::object::ObjectExt

Implementations

impl FileInfo[src]

pub fn new() -> FileInfo[src]

Creates a new file info structure.

Returns

a FileInfo.

pub fn clear_status(&self)[src]

Clears the status information from self.

pub fn copy_into(&self, dest_info: &FileInfo)[src]

First clears all of the [GFileAttribute][gio-GFileAttribute] of dest_info, and then copies all of the file attributes from self to dest_info.

dest_info

destination to copy attributes to.

pub fn dup(&self) -> Option<FileInfo>[src]

Duplicates a file info structure.

Returns

a duplicate FileInfo of self.

pub fn get_attribute_as_string(&self, attribute: &str) -> Option<GString>[src]

Gets the value of a attribute, formated as a string. This escapes things as needed to make the string valid UTF-8.

attribute

a file attribute key.

Returns

a UTF-8 string associated with the given attribute, or None if the attribute wasn’t set. When you're done with the string it must be freed with g_free.

pub fn get_attribute_boolean(&self, attribute: &str) -> bool[src]

Gets the value of a boolean attribute. If the attribute does not contain a boolean value, false will be returned.

attribute

a file attribute key.

Returns

the boolean value contained within the attribute.

pub fn get_attribute_byte_string(&self, attribute: &str) -> Option<GString>[src]

Gets the value of a byte string attribute. If the attribute does not contain a byte string, None will be returned.

attribute

a file attribute key.

Returns

the contents of the attribute value as a byte string, or None otherwise.

pub fn get_attribute_int32(&self, attribute: &str) -> i32[src]

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.

attribute

a file attribute key.

Returns

a signed 32-bit integer from the attribute.

pub fn get_attribute_int64(&self, attribute: &str) -> i64[src]

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.

attribute

a file attribute key.

Returns

a signed 64-bit integer from the attribute.

pub fn get_attribute_object(&self, attribute: &str) -> Option<Object>[src]

Gets the value of a gobject::Object attribute. If the attribute does not contain a gobject::Object, None will be returned.

attribute

a file attribute key.

Returns

a gobject::Object associated with the given attribute, or None otherwise.

pub fn get_attribute_status(&self, attribute: &str) -> FileAttributeStatus[src]

Gets the attribute status for an attribute key.

attribute

a file attribute key

Returns

a FileAttributeStatus for the given attribute, or FileAttributeStatus::Unset if the key is invalid.

pub fn get_attribute_string(&self, attribute: &str) -> Option<GString>[src]

Gets the value of a string attribute. If the attribute does not contain a string, None will be returned.

attribute

a file attribute key.

Returns

the contents of the attribute value as a UTF-8 string, or None otherwise.

pub fn get_attribute_stringv(&self, attribute: &str) -> Vec<GString>[src]

Gets the value of a stringv attribute. If the attribute does not contain a stringv, None will be returned.

attribute

a file attribute key.

Returns

the contents of the attribute value as a stringv, or None otherwise. Do not free. These returned strings are UTF-8.

pub fn get_attribute_type(&self, attribute: &str) -> FileAttributeType[src]

Gets the attribute type for an attribute key.

attribute

a file attribute key.

Returns

a FileAttributeType for the given attribute, or FileAttributeType::Invalid if the key is not set.

pub fn get_attribute_uint32(&self, attribute: &str) -> u32[src]

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.

attribute

a file attribute key.

Returns

an unsigned 32-bit integer from the attribute.

pub fn get_attribute_uint64(&self, attribute: &str) -> u64[src]

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.

attribute

a file attribute key.

Returns

a unsigned 64-bit integer from the attribute.

pub fn get_content_type(&self) -> Option<GString>[src]

Gets the file's content type.

Returns

a string containing the file's content type.

pub fn get_deletion_date(&self) -> Option<DateTime>[src]

Returns the glib::DateTime representing the deletion date of the file, as available in G_FILE_ATTRIBUTE_TRASH_DELETION_DATE. If the G_FILE_ATTRIBUTE_TRASH_DELETION_DATE attribute is unset, None is returned.

Returns

a glib::DateTime, or None.

pub fn get_display_name(&self) -> Option<GString>[src]

Gets a display name for a file.

Returns

a string containing the display name.

pub fn get_edit_name(&self) -> Option<GString>[src]

Gets the edit name for a file.

Returns

a string containing the edit name.

pub fn get_etag(&self) -> Option<GString>[src]

Gets the [entity tag][gfile-etag] for a given FileInfo. See G_FILE_ATTRIBUTE_ETAG_VALUE.

Returns

a string containing the value of the "etag:value" attribute.

pub fn get_file_type(&self) -> FileType[src]

Gets a file's type (whether it is a regular file, symlink, etc). This is different from the file's content type, see FileInfo::get_content_type.

Returns

a FileType for the given file.

pub fn get_icon(&self) -> Option<Icon>[src]

Gets the icon for a file.

Returns

Icon for the given self.

pub fn get_is_backup(&self) -> bool[src]

Checks if a file is a backup file.

Returns

true if file is a backup file, false otherwise.

pub fn get_is_hidden(&self) -> bool[src]

Checks if a file is hidden.

Returns

true if the file is a hidden file, false otherwise.

Checks if a file is a symlink.

Returns

true if the given self is a symlink.

pub fn get_modification_date_time(&self) -> Option<DateTime>[src]

Gets the modification time of the current self and returns it as a glib::DateTime.

This requires the G_FILE_ATTRIBUTE_TIME_MODIFIED attribute. If G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC is provided, the resulting glib::DateTime will have microsecond precision.

Feature: v2_62

Returns

modification time, or None if unknown

pub fn get_modification_time(&self) -> TimeVal[src]

Gets the modification time of the current self and sets it in result.

Deprecated since 2.62

Use FileInfo::get_modification_date_time instead, as glib::TimeVal is deprecated due to the year 2038 problem.

result

a glib::TimeVal.

pub fn get_name(&self) -> Option<PathBuf>[src]

Gets the name for a file.

Returns

a string containing the file name.

pub fn get_size(&self) -> i64[src]

Gets the file's size.

Returns

a goffset containing the file's size.

pub fn get_sort_order(&self) -> i32[src]

Gets the value of the sort_order attribute from the FileInfo. See G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER.

Returns

a gint32 containing the value of the "standard::sort_order" attribute.

pub fn get_symbolic_icon(&self) -> Option<Icon>[src]

Gets the symbolic icon for a file.

Returns

Icon for the given self.

Gets the symlink target for a given FileInfo.

Returns

a string containing the symlink target.

pub fn has_attribute(&self, attribute: &str) -> bool[src]

Checks if a file info structure has an attribute named attribute.

attribute

a file attribute key.

Returns

true if self has an attribute named attribute, false otherwise.

pub fn has_namespace(&self, name_space: &str) -> bool[src]

Checks if a file info structure has an attribute in the specified name_space.

name_space

a file attribute namespace.

Returns

true if self has an attribute in name_space, false otherwise.

pub fn list_attributes(&self, name_space: Option<&str>) -> Vec<GString>[src]

Lists the file info structure's attributes.

name_space

a file attribute key's namespace, or None to list all attributes.

Returns

a null-terminated array of strings of all of the possible attribute types for the given name_space, or None on error.

pub fn remove_attribute(&self, attribute: &str)[src]

Removes all cases of attribute from self if it exists.

attribute

a file attribute key.

pub fn set_attribute_boolean(&self, attribute: &str, attr_value: bool)[src]

Sets the attribute to contain the given attr_value, if possible.

attribute

a file attribute key.

attr_value

a boolean value.

pub fn set_attribute_byte_string(&self, attribute: &str, attr_value: &str)[src]

Sets the attribute to contain the given attr_value, if possible.

attribute

a file attribute key.

attr_value

a byte string.

pub fn set_attribute_int32(&self, attribute: &str, attr_value: i32)[src]

Sets the attribute to contain the given attr_value, if possible.

attribute

a file attribute key.

attr_value

a signed 32-bit integer

pub fn set_attribute_int64(&self, attribute: &str, attr_value: i64)[src]

Sets the attribute to contain the given attr_value, if possible.

attribute

attribute name to set.

attr_value

int64 value to set attribute to.

pub fn set_attribute_mask(&self, mask: &FileAttributeMatcher)[src]

Sets mask on self to match specific attribute types.

mask

a FileAttributeMatcher.

pub fn set_attribute_object<P: IsA<Object>>(
    &self,
    attribute: &str,
    attr_value: &P
)
[src]

Sets the attribute to contain the given attr_value, if possible.

attribute

a file attribute key.

attr_value

a gobject::Object.

pub fn set_attribute_status(
    &self,
    attribute: &str,
    status: FileAttributeStatus
) -> bool
[src]

Sets the attribute status for an attribute key. This is only needed by external code that implement File::set_attributes_from_info or similar functions.

The attribute must exist in self for this to work. Otherwise false is returned and self is unchanged.

attribute

a file attribute key

status

a FileAttributeStatus

Returns

true if the status was changed, false if the key was not set.

pub fn set_attribute_string(&self, attribute: &str, attr_value: &str)[src]

Sets the attribute to contain the given attr_value, if possible.

attribute

a file attribute key.

attr_value

a UTF-8 string.

pub fn set_attribute_stringv(&self, attribute: &str, attr_value: &[&str])[src]

Sets the attribute to contain the given attr_value, if possible.

Sinze: 2.22

attribute

a file attribute key

attr_value

a None terminated array of UTF-8 strings.

pub fn set_attribute_uint32(&self, attribute: &str, attr_value: u32)[src]

Sets the attribute to contain the given attr_value, if possible.

attribute

a file attribute key.

attr_value

an unsigned 32-bit integer.

pub fn set_attribute_uint64(&self, attribute: &str, attr_value: u64)[src]

Sets the attribute to contain the given attr_value, if possible.

attribute

a file attribute key.

attr_value

an unsigned 64-bit integer.

pub fn set_content_type(&self, content_type: &str)[src]

Sets the content type attribute for a given FileInfo. See G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE.

content_type

a content type. See [GContentType][gio-GContentType]

pub fn set_display_name(&self, display_name: &str)[src]

Sets the display name for the current FileInfo. See G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME.

display_name

a string containing a display name.

pub fn set_edit_name(&self, edit_name: &str)[src]

Sets the edit name for the current file. See G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME.

edit_name

a string containing an edit name.

pub fn set_file_type(&self, type_: FileType)[src]

Sets the file type in a FileInfo to type_. See G_FILE_ATTRIBUTE_STANDARD_TYPE.

type_

a FileType.

pub fn set_icon<P: IsA<Icon>>(&self, icon: &P)[src]

Sets the icon for a given FileInfo. See G_FILE_ATTRIBUTE_STANDARD_ICON.

icon

a Icon.

pub fn set_is_hidden(&self, is_hidden: bool)[src]

Sets the "is_hidden" attribute in a FileInfo according to is_hidden. See G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN.

is_hidden

a gboolean.

Sets the "is_symlink" attribute in a FileInfo according to is_symlink. See G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK.

a gboolean.

pub fn set_modification_date_time(&self, mtime: &DateTime)[src]

Sets the G_FILE_ATTRIBUTE_TIME_MODIFIED and G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC attributes in the file info to the given date/time value.

Feature: v2_62

mtime

a glib::DateTime.

pub fn set_modification_time(&self, mtime: &mut TimeVal)[src]

Sets the G_FILE_ATTRIBUTE_TIME_MODIFIED and G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC attributes in the file info to the given time value.

Deprecated since 2.62

Use FileInfo::set_modification_date_time instead, as glib::TimeVal is deprecated due to the year 2038 problem.

mtime

a glib::TimeVal.

pub fn set_name<P: AsRef<Path>>(&self, name: P)[src]

Sets the name attribute for the current FileInfo. See G_FILE_ATTRIBUTE_STANDARD_NAME.

name

a string containing a name.

pub fn set_size(&self, size: i64)[src]

Sets the G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in the file info to the given size.

size

a goffset containing the file's size.

pub fn set_sort_order(&self, sort_order: i32)[src]

Sets the sort order attribute in the file info structure. See G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER.

sort_order

a sort order integer.

pub fn set_symbolic_icon<P: IsA<Icon>>(&self, icon: &P)[src]

Sets the symbolic icon for a given FileInfo. See G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON.

icon

a Icon.

Sets the G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET attribute in the file info to the given symlink target.

a static string containing a path to a symlink target.

pub fn unset_attribute_mask(&self)[src]

Unsets a mask set by FileInfo::set_attribute_mask, if one is set.

Trait Implementations

impl Clone for FileInfo

impl Debug for FileInfo

impl Default for FileInfo[src]

impl Display for FileInfo[src]

impl Eq for FileInfo

impl Hash for FileInfo

impl Ord for FileInfo

impl<T: ObjectType> PartialEq<T> for FileInfo

impl<T: ObjectType> PartialOrd<T> for FileInfo

impl StaticType for FileInfo

Auto Trait Implementations

impl RefUnwindSafe for FileInfo

impl !Send for FileInfo

impl !Sync for FileInfo

impl Unpin for FileInfo

impl UnwindSafe for FileInfo

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Super, Sub> CanDowncast<Sub> for Super where
    Sub: IsA<Super>,
    Super: IsA<Super>, 

impl<T> Cast for T where
    T: ObjectType, 

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ObjectExt for T where
    T: ObjectType, 

impl<'a, T> ToGlibContainerFromSlice<'a, *const GList> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *const GPtrArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<PtrArray>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<Array>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GList> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GPtrArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<PtrArray>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToSendValue for T where
    T: ToValue + SetValue + Send + ?Sized

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> ToValue for T where
    T: SetValue + ?Sized

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.