pub trait IconExt:
IsA<Icon>
+ Sealed
+ 'static {
// Provided methods
fn equal(&self, icon2: Option<&impl IsA<Icon>>) -> bool { ... }
fn hash(&self) -> u32 { ... }
fn serialize(&self) -> Option<Variant> { ... }
fn to_string(&self) -> Option<GString> { ... }
}
Expand description
Trait containing all Icon
methods.
§Implementors
BytesIcon
, Emblem
, EmblemedIcon
, FileIcon
, Icon
, LoadableIcon
, ThemedIcon
Provided Methods§
fn equal(&self, icon2: Option<&impl IsA<Icon>>) -> bool
fn hash(&self) -> u32
Sourcefn serialize(&self) -> Option<Variant>
fn serialize(&self) -> Option<Variant>
Serializes a #GIcon into a #GVariant. An equivalent #GIcon can be retrieved back by calling g_icon_deserialize() on the returned value. As serialization will avoid using raw icon data when possible, it only makes sense to transfer the #GVariant between processes on the same machine, (as opposed to over the network), and within the same file system namespace.
§Returns
a #GVariant, or None
when serialization fails. The #GVariant will not be floating.
Sourcefn to_string(&self) -> Option<GString>
fn to_string(&self) -> Option<GString>
Generates a textual representation of @self that can be used for serialization such as when passing @self to a different process or saving it to persistent storage. Use g_icon_new_for_string() to get @self back from the returned string.
The encoding of the returned string is proprietary to #GIcon except in the following two cases
-
If @self is a #GFileIcon, the returned string is a native path (such as
/path/to/my icon.png
) without escaping if the #GFile for @self is a native file. If the file is not native, the returned string is the result of g_file_get_uri() (such assftp://path/to/my
20icon``). -
If @self is a #GThemedIcon with exactly one name and no fallbacks, the encoding is simply the name (such as
network-server
).
§Returns
An allocated NUL-terminated UTF8 string or
None
if @self can’t be serialized. Use g_free() to free.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.