Struct gio::FileInfo [−][src]
pub struct FileInfo(_);
Expand description
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 FileExt::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 FileExt::set_attributes_from_info()
or FileExt::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 set_size()
.
You may call g_file_query_settable_attributes()
and
g_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
Implementations
Gets the modification time of the current self
and sets it
in result
.
Deprecated since 2.62
Use modification_date_time()
instead, as
GTimeVal
is deprecated due to the year 2038 problem.
Returns
result
a GTimeVal
.
Sets the FILE_ATTRIBUTE_TIME_MODIFIED
and
FILE_ATTRIBUTE_TIME_MODIFIED_USEC
attributes in the file info to the
given time value.
Deprecated since 2.62
Use set_modification_date_time()
instead, as
GTimeVal
is deprecated due to the year 2038 problem.
mtime
a GTimeVal
.
Clears the status information from self
.
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.
Gets the value of a attribute, formatted 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()
.
Gets the value of a glib::Object
attribute. If the attribute does
not contain a glib::Object
, None
will be returned.
attribute
a file attribute key.
Returns
a glib::Object
associated with the given attribute
,
or None
otherwise.
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.
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.
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
.
Gets a display name for a file. This is guaranteed to always be set.
Returns
a string containing the display name.
Gets the [entity tag][gfile-etag] for a given
FileInfo
. See FILE_ATTRIBUTE_ETAG_VALUE
.
Returns
a string containing the value of the “etag:value” attribute.
Gets a file’s type (whether it is a regular file, symlink, etc).
This is different from the file’s content type, see content_type()
.
Returns
a FileType
for the given file.
This is supported on crate feature v2_62
only.
v2_62
only.Gets the modification time of the current self
and returns it as a
glib::DateTime
.
This requires the FILE_ATTRIBUTE_TIME_MODIFIED
attribute. If
FILE_ATTRIBUTE_TIME_MODIFIED_USEC
is provided, the resulting glib::DateTime
will have microsecond precision.
Returns
modification time, or None
if unknown
Gets the name for a file. This is guaranteed to always be set.
Returns
a string containing the file name.
Gets the file’s size (in bytes). The size is retrieved through the value of
the FILE_ATTRIBUTE_STANDARD_SIZE
attribute and is converted
from guint64
to goffset
before returning the result.
Returns
a goffset
containing the file’s size (in bytes).
Gets the value of the sort_order attribute from the FileInfo
.
See FILE_ATTRIBUTE_STANDARD_SORT_ORDER
.
Returns
a gint32
containing the value of the “standard::sort_order” attribute.
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.
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.
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
a boolean value.
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
a byte string.
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
a signed 32-bit integer
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
attribute name to set.
attr_value
int64 value to set attribute to.
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
a glib::Object
.
Sets the attribute status for an attribute key. This is only
needed by external code that implement FileExt::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
Returns
true
if the status was changed, false
if the key was not set.
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
a UTF-8 string.
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.
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
an unsigned 32-bit integer.
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
an unsigned 64-bit integer.
Sets the content type attribute for a given FileInfo
.
See FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE
.
content_type
a content type. See [GContentType][gio-GContentType]
Sets the display name for the current FileInfo
.
See FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME
.
display_name
a string containing a display name.
Sets the edit name for the current file.
See FILE_ATTRIBUTE_STANDARD_EDIT_NAME
.
edit_name
a string containing an edit name.
Sets the “is_hidden” attribute in a FileInfo
according to is_hidden
.
See FILE_ATTRIBUTE_STANDARD_IS_HIDDEN
.
is_hidden
a gboolean
.
Sets the “is_symlink” attribute in a FileInfo
according to is_symlink
.
See FILE_ATTRIBUTE_STANDARD_IS_SYMLINK
.
is_symlink
a gboolean
.
This is supported on crate feature v2_62
only.
v2_62
only.Sets the FILE_ATTRIBUTE_TIME_MODIFIED
and
FILE_ATTRIBUTE_TIME_MODIFIED_USEC
attributes in the file info to the
given date/time value.
mtime
Sets the name attribute for the current FileInfo
.
See FILE_ATTRIBUTE_STANDARD_NAME
.
name
a string containing a name.
Sets the FILE_ATTRIBUTE_STANDARD_SIZE
attribute in the file info
to the given size.
size
a goffset
containing the file’s size.
Sets the sort order attribute in the file info structure. See
FILE_ATTRIBUTE_STANDARD_SORT_ORDER
.
sort_order
a sort order integer.
Sets the symbolic icon for a given FileInfo
.
See FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON
.
icon
a Icon
.
Sets the FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET
attribute in the file info
to the given symlink target.
symlink_target
a static string containing a path to a symlink target.
Unsets a mask set by set_attribute_mask()
, if one
is set.
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Returns the type identifier of Self
.
Auto Trait Implementations
impl RefUnwindSafe for FileInfo
impl UnwindSafe for FileInfo
Blanket Implementations
Mutably borrows from an owned value. Read more
Upcasts an object to a superclass or interface T
. Read more
Upcasts an object to a reference of its superclass or interface T
. Read more
Tries to downcast to a subclass or interface implementor T
. Read more
Tries to downcast to a reference of its subclass or interface implementor T
. Read more
Tries to cast to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
Tries to cast to reference to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
Casts to T
unconditionally. Read more
Casts to &T
unconditionally. Read more
Returns true
if the object is an instance of (can be cast to) T
.
pub fn set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
pub fn set_property<'a, N, V>(
&self,
property_name: N,
value: V
) -> Result<(), BoolError> where
V: ToValue,
N: Into<&'a str>,
pub fn set_property_from_value<'a, N>(
&self,
property_name: N,
value: &Value
) -> Result<(), BoolError> where
N: Into<&'a str>,
Safety Read more
Safety Read more
Safety Read more
Safety Read more
pub fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
pub fn connect_notify_local<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec),
pub unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
pub fn has_property<'a, N>(&self, property_name: N, type_: Option<Type>) -> bool where
N: Into<&'a str>,
pub fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>,
pub fn connect<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
Same as connect
but takes a SignalId
instead of a signal name.
pub fn connect_local<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
Same as connect_local
but takes a SignalId
instead of a signal name.
pub unsafe fn connect_unsafe<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
Same as connect_unsafe
but takes a SignalId
instead of a signal name.
Emit signal by signal id.
Emit signal with details by signal id.
Emit signal by it’s name.
pub fn bind_property<'a, O, N, M>(
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
O: ObjectType,
N: Into<&'a str>,
M: Into<&'a str>,
Same as emit
but takes Value
for the arguments.
Same as emit_by_name
but takes Value
for the arguments.
Returns a SendValue
clone of self
.
impl<'a, T, C> FromValueOptional<'a> for T where
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,