pub struct FileInfo { /* private fields */ }
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 FileExt::query_settable_attributes()
and
FileExt::query_writable_namespaces()
to discover the settable attributes
of a particular file at runtime.
The direct accessors, such as name()
, are slightly more
optimized than the generic attribute accessors, such as
attribute_byte_string()
.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 FileInfo
. Use has_attribute()
or
list_attributes()
to check what attributes are specified for a
FileInfo
.
FileAttributeMatcher
allows for searching through a FileInfo
for
attributes.
Implements
Implementations§
source§impl FileInfo
impl FileInfo
sourcepub fn modification_time(&self) -> SystemTime
👎Deprecated
pub fn modification_time(&self) -> SystemTime
Gets the modification time of the current self
and sets it
in result
.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_TIME_MODIFIED
. If FILE_ATTRIBUTE_TIME_MODIFIED_USEC
is
provided it will be used too.
Deprecated since 2.62
Use modification_date_time()
instead, as
GTimeVal
is deprecated due to the year 2038 problem.
Returns
result
a GTimeVal
.
sourcepub fn set_modification_time(&self, mtime: SystemTime)
👎Deprecated
pub fn set_modification_time(&self, mtime: SystemTime)
Sets the FILE_ATTRIBUTE_TIME_MODIFIED
and
FILE_ATTRIBUTE_TIME_MODIFIED_USEC
attributes in the file info to the
given time value.
FILE_ATTRIBUTE_TIME_MODIFIED_NSEC
will be cleared.
Deprecated since 2.62
Use set_modification_date_time()
instead, as
GTimeVal
is deprecated due to the year 2038 problem.
mtime
a GTimeVal
.
sourcepub fn attribute_stringv(&self, attribute: &str) -> StrV
pub fn attribute_stringv(&self, attribute: &str) -> StrV
sourcepub fn set_attribute_stringv(&self, attribute: &str, attr_value: impl IntoStrV)
pub fn set_attribute_stringv(&self, attribute: &str, attr_value: impl IntoStrV)
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.
source§impl FileInfo
impl FileInfo
sourcepub fn clear_status(&self)
pub fn clear_status(&self)
Clears the status information from self
.
sourcepub fn copy_into(&self, dest_info: &FileInfo)
pub fn copy_into(&self, dest_info: &FileInfo)
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.
sourcepub fn access_date_time(&self) -> Option<DateTime>
Available on crate feature v2_70
only.
pub fn access_date_time(&self) -> Option<DateTime>
v2_70
only.Gets the access time of the current self
and returns it as a
glib::DateTime
.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_TIME_ACCESS
. If FILE_ATTRIBUTE_TIME_ACCESS_USEC
is
provided, the resulting glib::DateTime
will additionally have microsecond
precision.
If nanosecond precision is needed, FILE_ATTRIBUTE_TIME_ACCESS_NSEC
must
be queried separately using attribute_uint32()
.
Returns
access time, or None
if unknown
sourcepub fn attribute_as_string(&self, attribute: &str) -> Option<GString>
pub fn attribute_as_string(&self, attribute: &str) -> Option<GString>
Gets the value of an 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()
.
sourcepub fn attribute_byte_string(&self, attribute: &str) -> Option<GString>
pub fn attribute_byte_string(&self, attribute: &str) -> Option<GString>
sourcepub fn attribute_file_path(&self, attribute: &str) -> Option<PathBuf>
Available on crate feature v2_78
only.
pub fn attribute_file_path(&self, attribute: &str) -> Option<PathBuf>
v2_78
only.Gets the value of a byte string attribute as a file path.
If the attribute does not contain a byte string, NULL
will be returned.
This function is meant to be used by language bindings that have specific handling for Unix paths.
attribute
a file attribute key.
Returns
the contents of the attribute
value as
a file path, or None
otherwise.
sourcepub fn attribute_int32(&self, attribute: &str) -> i32
pub fn attribute_int32(&self, attribute: &str) -> i32
sourcepub fn attribute_int64(&self, attribute: &str) -> i64
pub fn attribute_int64(&self, attribute: &str) -> i64
sourcepub fn attribute_object(&self, attribute: &str) -> Option<Object>
pub fn attribute_object(&self, attribute: &str) -> Option<Object>
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.
sourcepub fn attribute_status(&self, attribute: &str) -> FileAttributeStatus
pub fn attribute_status(&self, attribute: &str) -> FileAttributeStatus
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.
sourcepub fn attribute_string(&self, attribute: &str) -> Option<GString>
pub fn attribute_string(&self, attribute: &str) -> Option<GString>
sourcepub fn attribute_type(&self, attribute: &str) -> FileAttributeType
pub fn attribute_type(&self, attribute: &str) -> FileAttributeType
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.
sourcepub fn attribute_uint32(&self, attribute: &str) -> u32
pub fn attribute_uint32(&self, attribute: &str) -> u32
sourcepub fn attribute_uint64(&self, attribute: &str) -> u64
pub fn attribute_uint64(&self, attribute: &str) -> u64
sourcepub fn content_type(&self) -> Option<GString>
pub fn content_type(&self) -> Option<GString>
Gets the file’s content type.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE
.
Returns
a string containing the file’s content type,
or None
if unknown.
sourcepub fn creation_date_time(&self) -> Option<DateTime>
Available on crate feature v2_70
only.
pub fn creation_date_time(&self) -> Option<DateTime>
v2_70
only.Gets the creation time of the current self
and returns it as a
glib::DateTime
.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_TIME_CREATED
. If FILE_ATTRIBUTE_TIME_CREATED_USEC
is
provided, the resulting glib::DateTime
will additionally have microsecond
precision.
If nanosecond precision is needed, FILE_ATTRIBUTE_TIME_CREATED_NSEC
must
be queried separately using attribute_uint32()
.
Returns
creation time, or None
if unknown
sourcepub fn deletion_date(&self) -> Option<DateTime>
pub fn deletion_date(&self) -> Option<DateTime>
Returns the glib::DateTime
representing the deletion date of the file, as
available in FILE_ATTRIBUTE_TRASH_DELETION_DATE
. If the
FILE_ATTRIBUTE_TRASH_DELETION_DATE
attribute is unset, None
is returned.
Returns
a glib::DateTime
, or None
.
sourcepub fn display_name(&self) -> GString
pub fn display_name(&self) -> GString
Gets a display name for a file. This is guaranteed to always be set.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME
.
Returns
a string containing the display name.
sourcepub fn edit_name(&self) -> GString
pub fn edit_name(&self) -> GString
Gets the edit name for a file.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_EDIT_NAME
.
Returns
a string containing the edit name.
sourcepub fn etag(&self) -> Option<GString>
pub fn etag(&self) -> Option<GString>
Gets the [entity tag][gfile-etag] for a given
FileInfo
. See FILE_ATTRIBUTE_ETAG_VALUE
.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_ETAG_VALUE
.
Returns
a string containing the value of the “etag:value” attribute.
sourcepub fn file_type(&self) -> FileType
pub fn file_type(&self) -> FileType
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()
.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_TYPE
.
Returns
a FileType
for the given file.
sourcepub fn icon(&self) -> Option<Icon>
pub fn icon(&self) -> Option<Icon>
Gets the icon for a file.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_ICON
.
Returns
Icon
for the given self
.
sourcepub fn is_backup(&self) -> bool
pub fn is_backup(&self) -> bool
Checks if a file is a backup file.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_IS_BACKUP
.
Returns
Checks if a file is hidden.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_IS_HIDDEN
.
Returns
sourcepub fn is_symlink(&self) -> bool
pub fn is_symlink(&self) -> bool
Checks if a file is a symlink.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_IS_SYMLINK
.
Returns
true
if the given self
is a symlink.
sourcepub fn modification_date_time(&self) -> Option<DateTime>
Available on crate feature v2_62
only.
pub fn modification_date_time(&self) -> Option<DateTime>
v2_62
only.Gets the modification time of the current self
and returns it as a
glib::DateTime
.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_TIME_MODIFIED
. If FILE_ATTRIBUTE_TIME_MODIFIED_USEC
is
provided, the resulting glib::DateTime
will additionally have microsecond
precision.
If nanosecond precision is needed, FILE_ATTRIBUTE_TIME_MODIFIED_NSEC
must
be queried separately using attribute_uint32()
.
Returns
modification time, or None
if unknown
sourcepub fn name(&self) -> PathBuf
pub fn name(&self) -> PathBuf
Gets the name for a file. This is guaranteed to always be set.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_NAME
.
Returns
a string containing the file name.
sourcepub fn size(&self) -> i64
pub fn size(&self) -> i64
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.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_SIZE
.
Returns
a goffset
containing the file’s size (in bytes).
sourcepub fn sort_order(&self) -> i32
pub fn sort_order(&self) -> i32
Gets the value of the sort_order attribute from the FileInfo
.
See FILE_ATTRIBUTE_STANDARD_SORT_ORDER
.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_SORT_ORDER
.
Returns
a gint32
containing the value of the “standard::sort_order” attribute.
sourcepub fn symbolic_icon(&self) -> Option<Icon>
pub fn symbolic_icon(&self) -> Option<Icon>
Gets the symbolic icon for a file.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON
.
Returns
Icon
for the given self
.
sourcepub fn symlink_target(&self) -> Option<PathBuf>
pub fn symlink_target(&self) -> Option<PathBuf>
Gets the symlink target for a given FileInfo
.
It is an error to call this if the FileInfo
does not contain
FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET
.
Returns
a string containing the symlink target.
sourcepub fn has_attribute(&self, attribute: &str) -> bool
pub fn has_attribute(&self, attribute: &str) -> bool
sourcepub fn has_namespace(&self, name_space: &str) -> bool
pub fn has_namespace(&self, name_space: &str) -> bool
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.
sourcepub fn list_attributes(&self, name_space: Option<&str>) -> Vec<GString>
pub fn list_attributes(&self, name_space: Option<&str>) -> Vec<GString>
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.
sourcepub fn remove_attribute(&self, attribute: &str)
pub fn remove_attribute(&self, attribute: &str)
sourcepub fn set_access_date_time(&self, atime: &DateTime)
Available on crate feature v2_70
only.
pub fn set_access_date_time(&self, atime: &DateTime)
v2_70
only.Sets the FILE_ATTRIBUTE_TIME_ACCESS
and
FILE_ATTRIBUTE_TIME_ACCESS_USEC
attributes in the file info to the
given date/time value.
FILE_ATTRIBUTE_TIME_ACCESS_NSEC
will be cleared.
atime
sourcepub fn set_attribute_boolean(&self, attribute: &str, attr_value: bool)
pub fn set_attribute_boolean(&self, attribute: &str, attr_value: bool)
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
a boolean value.
sourcepub fn set_attribute_byte_string(&self, attribute: &str, attr_value: &str)
pub fn set_attribute_byte_string(&self, attribute: &str, attr_value: &str)
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
a byte string.
sourcepub fn set_attribute_file_path(
&self,
attribute: &str,
attr_value: impl AsRef<Path>
)
Available on crate feature v2_78
only.
pub fn set_attribute_file_path( &self, attribute: &str, attr_value: impl AsRef<Path> )
v2_78
only.Sets the attribute
to contain the given attr_value
,
if possible.
This function is meant to be used by language bindings that have specific handling for Unix paths.
attribute
a file attribute key.
attr_value
a file path.
sourcepub fn set_attribute_int32(&self, attribute: &str, attr_value: i32)
pub fn set_attribute_int32(&self, attribute: &str, attr_value: i32)
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
a signed 32-bit integer
sourcepub fn set_attribute_int64(&self, attribute: &str, attr_value: i64)
pub fn set_attribute_int64(&self, attribute: &str, attr_value: i64)
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
attribute name to set.
attr_value
int64 value to set attribute to.
sourcepub fn set_attribute_mask(&self, mask: &FileAttributeMatcher)
pub fn set_attribute_mask(&self, mask: &FileAttributeMatcher)
sourcepub fn set_attribute_object(
&self,
attribute: &str,
attr_value: &impl IsA<Object>
)
pub fn set_attribute_object( &self, attribute: &str, attr_value: &impl IsA<Object> )
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
a glib::Object
.
sourcepub fn set_attribute_status(
&self,
attribute: &str,
status: FileAttributeStatus
) -> bool
pub fn set_attribute_status( &self, attribute: &str, status: FileAttributeStatus ) -> bool
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.
sourcepub fn set_attribute_string(&self, attribute: &str, attr_value: &str)
pub fn set_attribute_string(&self, attribute: &str, attr_value: &str)
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
a UTF-8 string.
sourcepub fn set_attribute_uint32(&self, attribute: &str, attr_value: u32)
pub fn set_attribute_uint32(&self, attribute: &str, attr_value: u32)
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
an unsigned 32-bit integer.
sourcepub fn set_attribute_uint64(&self, attribute: &str, attr_value: u64)
pub fn set_attribute_uint64(&self, attribute: &str, attr_value: u64)
Sets the attribute
to contain the given attr_value
,
if possible.
attribute
a file attribute key.
attr_value
an unsigned 64-bit integer.
sourcepub fn set_content_type(&self, content_type: &str)
pub fn set_content_type(&self, content_type: &str)
Sets the content type attribute for a given FileInfo
.
See FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE
.
content_type
a content type. See [GContentType][gio-GContentType]
sourcepub fn set_creation_date_time(&self, creation_time: &DateTime)
Available on crate feature v2_70
only.
pub fn set_creation_date_time(&self, creation_time: &DateTime)
v2_70
only.Sets the FILE_ATTRIBUTE_TIME_CREATED
and
FILE_ATTRIBUTE_TIME_CREATED_USEC
attributes in the file info to the
given date/time value.
FILE_ATTRIBUTE_TIME_CREATED_NSEC
will be cleared.
creation_time
sourcepub fn set_display_name(&self, display_name: &str)
pub fn set_display_name(&self, display_name: &str)
Sets the display name for the current FileInfo
.
See FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME
.
display_name
a string containing a display name.
sourcepub fn set_edit_name(&self, edit_name: &str)
pub fn set_edit_name(&self, edit_name: &str)
Sets the edit name for the current file.
See FILE_ATTRIBUTE_STANDARD_EDIT_NAME
.
edit_name
a string containing an edit name.
sourcepub fn set_file_type(&self, type_: FileType)
pub fn set_file_type(&self, type_: FileType)
Sets the “is_hidden” attribute in a FileInfo
according to is_hidden
.
See FILE_ATTRIBUTE_STANDARD_IS_HIDDEN
.
is_hidden
a gboolean
.
sourcepub fn set_is_symlink(&self, is_symlink: bool)
pub fn set_is_symlink(&self, is_symlink: bool)
Sets the “is_symlink” attribute in a FileInfo
according to is_symlink
.
See FILE_ATTRIBUTE_STANDARD_IS_SYMLINK
.
is_symlink
a gboolean
.
sourcepub fn set_modification_date_time(&self, mtime: &DateTime)
Available on crate feature v2_62
only.
pub fn set_modification_date_time(&self, mtime: &DateTime)
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.
FILE_ATTRIBUTE_TIME_MODIFIED_NSEC
will be cleared.
mtime
sourcepub fn set_name(&self, name: impl AsRef<Path>)
pub fn set_name(&self, name: impl AsRef<Path>)
Sets the name attribute for the current FileInfo
.
See FILE_ATTRIBUTE_STANDARD_NAME
.
name
a string containing a name.
sourcepub fn set_size(&self, size: i64)
pub fn set_size(&self, size: i64)
Sets the FILE_ATTRIBUTE_STANDARD_SIZE
attribute in the file info
to the given size.
size
a goffset
containing the file’s size.
sourcepub fn set_sort_order(&self, sort_order: i32)
pub fn set_sort_order(&self, sort_order: i32)
Sets the sort order attribute in the file info structure. See
FILE_ATTRIBUTE_STANDARD_SORT_ORDER
.
sort_order
a sort order integer.
sourcepub fn set_symbolic_icon(&self, icon: &impl IsA<Icon>)
pub fn set_symbolic_icon(&self, icon: &impl IsA<Icon>)
Sets the symbolic icon for a given FileInfo
.
See FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON
.
icon
a Icon
.
sourcepub fn set_symlink_target(&self, symlink_target: impl AsRef<Path>)
pub fn set_symlink_target(&self, symlink_target: impl AsRef<Path>)
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.
sourcepub fn unset_attribute_mask(&self)
pub fn unset_attribute_mask(&self)
Unsets a mask set by set_attribute_mask()
, if one
is set.
Trait Implementations§
source§impl HasParamSpec for FileInfo
impl HasParamSpec for FileInfo
source§impl Ord for FileInfo
impl Ord for FileInfo
source§impl<OT: ObjectType> PartialEq<OT> for FileInfo
impl<OT: ObjectType> PartialEq<OT> for FileInfo
source§impl<OT: ObjectType> PartialOrd<OT> for FileInfo
impl<OT: ObjectType> PartialOrd<OT> for FileInfo
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl StaticType for FileInfo
impl StaticType for FileInfo
source§fn static_type() -> Type
fn static_type() -> Type
Self
.impl Eq 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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Cast for Twhere
T: ObjectType,
impl<T> Cast for Twhere
T: ObjectType,
source§fn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
T
. Read moresource§fn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
T
. Read moresource§fn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: MayDowncastTo<T>,
fn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: MayDowncastTo<T>,
T
. Read moresource§fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: MayDowncastTo<T>,
fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: MayDowncastTo<T>,
T
. Read moresource§fn dynamic_cast<T>(self) -> Result<T, Self>where
T: ObjectType,
fn dynamic_cast<T>(self) -> Result<T, Self>where
T: ObjectType,
T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while upcast
will do many checks at compile-time already. downcast
will
perform the same checks at runtime as dynamic_cast
, but will also ensure some amount of
compile-time safety. Read moresource§fn dynamic_cast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
fn dynamic_cast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
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 moresource§unsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
unsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
T
unconditionally. Read moresource§unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
T: ObjectType,
unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
T: ObjectType,
&T
unconditionally. Read moresource§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> IntoClosureReturnValue for T
impl<T> IntoClosureReturnValue for T
fn into_closure_return_value(self) -> Option<Value>
source§impl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
impl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
fn parent_class_init<T>(class: &mut Class<U>)
fn parent_instance_init<T>(instance: &mut InitializingObject<T>)
source§impl<T> ObjectExt for Twhere
T: ObjectType,
impl<T> ObjectExt for Twhere
T: ObjectType,
source§fn is<U>(&self) -> boolwhere
U: StaticType,
fn is<U>(&self) -> boolwhere
U: StaticType,
true
if the object is an instance of (can be cast to) T
.source§fn object_class(&self) -> &Class<Object>
fn object_class(&self) -> &Class<Object>
ObjectClass
of the object. Read moresource§fn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
fn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
T
. Read moresource§fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
U: IsInterface,
fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
U: IsInterface,
T
of the object. Read moresource§fn set_property_from_value(&self, property_name: &str, value: &Value)
fn set_property_from_value(&self, property_name: &str, value: &Value)
source§fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
source§fn set_properties_from_value(&self, property_values: &[(&str, Value)])
fn set_properties_from_value(&self, property_values: &[(&str, Value)])
source§fn property<V>(&self, property_name: &str) -> Vwhere
V: for<'b> FromValue<'b> + 'static,
fn property<V>(&self, property_name: &str) -> Vwhere
V: for<'b> FromValue<'b> + 'static,
property_name
of the object and cast it to the type V. Read moresource§fn property_value(&self, property_name: &str) -> Value
fn property_value(&self, property_name: &str) -> Value
property_name
of the object. Read moresource§fn property_type(&self, property_name: &str) -> Option<Type>
fn property_type(&self, property_name: &str) -> Option<Type>
property_name
of this object. Read moresource§fn find_property(&self, property_name: &str) -> Option<ParamSpec>
fn find_property(&self, property_name: &str) -> Option<ParamSpec>
ParamSpec
of the property property_name
of this object.source§fn list_properties(&self) -> PtrSlice<ParamSpec>
fn list_properties(&self) -> PtrSlice<ParamSpec>
ParamSpec
of the properties of this object.source§fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
source§unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
QD: 'static,
unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
QD: 'static,
key
. Read moresource§unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
QD: 'static,
key
. Read moresource§unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
QD: 'static,
unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
QD: 'static,
key
. Read moresource§unsafe fn set_data<QD>(&self, key: &str, value: QD)where
QD: 'static,
unsafe fn set_data<QD>(&self, key: &str, value: QD)where
QD: 'static,
key
. Read moresource§unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
QD: 'static,
key
. Read moresource§unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
QD: 'static,
unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
QD: 'static,
key
. Read moresource§fn block_signal(&self, handler_id: &SignalHandlerId)
fn block_signal(&self, handler_id: &SignalHandlerId)
source§fn unblock_signal(&self, handler_id: &SignalHandlerId)
fn unblock_signal(&self, handler_id: &SignalHandlerId)
source§fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
source§fn stop_signal_emission_by_name(&self, signal_name: &str)
fn stop_signal_emission_by_name(&self, signal_name: &str)
source§fn connect<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId
fn connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId
fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
signal_id
on this object. Read moresource§fn connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId
fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId
fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
signal_id
on this object. Read moresource§unsafe fn connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId
unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
signal_name
on this object. Read moresource§unsafe fn connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId
unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
signal_id
on this object. Read moresource§fn connect_closure(
&self,
signal_name: &str,
after: bool,
closure: RustClosure
) -> SignalHandlerId
fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn connect_closure_id(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
closure: RustClosure
) -> SignalHandlerId
fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure ) -> SignalHandlerId
signal_id
on this object. Read moresource§fn watch_closure(&self, closure: &impl AsRef<Closure>)
fn watch_closure(&self, closure: &impl AsRef<Closure>)
closure
to the lifetime of the object. When
the object’s reference count drops to zero, the closure will be
invalidated. An invalidated closure will ignore any calls to
invoke_with_values
, or
invoke
when using Rust closures.source§fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
source§fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
Self::emit
but takes Value
for the arguments.source§fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
source§fn emit_by_name_with_values(
&self,
signal_name: &str,
args: &[Value]
) -> Option<Value>
fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value] ) -> Option<Value>
source§fn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue]
) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue]
) -> Rwhere
R: TryFromClosureReturnValue,
source§fn emit_by_name_with_details_and_values(
&self,
signal_name: &str,
details: Quark,
args: &[Value]
) -> Option<Value>
fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value] ) -> Option<Value>
source§fn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue]
) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue]
) -> Rwhere
R: TryFromClosureReturnValue,
source§fn emit_with_details_and_values(
&self,
signal_id: SignalId,
details: Quark,
args: &[Value]
) -> Option<Value>
fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value] ) -> Option<Value>
source§fn disconnect(&self, handler_id: SignalHandlerId)
fn disconnect(&self, handler_id: SignalHandlerId)
source§fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
notify
signal of the object. Read moresource§fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
notify
signal of the object. Read moresource§unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId
unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F ) -> SignalHandlerId
notify
signal of the object. Read more