[−]Struct gio::FileAttributeMatcher
Determines if a string matches a file attribute.
Methods
impl FileAttributeMatcher
[src]
pub fn new(attributes: &str) -> FileAttributeMatcher
[src]
Creates a new file attribute matcher, which matches attributes
against a given string. GFileAttributeMatchers
are reference
counted structures, and are created with a reference count of 1. If
the number of references falls to 0, the FileAttributeMatcher
is
automatically destroyed.
The attribute
string should be formatted with specific keys separated
from namespaces with a double colon. Several "namespace::key" strings may be
concatenated with a single comma (e.g. "standard::type,standard::is-hidden").
The wildcard "" may be used to match all keys and namespaces, or
"namespace::" will match all keys in a given namespace.
Examples of file attribute matcher strings and results
"*"
: matches all attributes."standard::is-hidden"
: matches only the key is-hidden in the standard namespace."standard::type,unix::*"
: matches the type key in the standard namespace and all keys in the unix namespace.
attributes
an attribute string to match.
Returns
a FileAttributeMatcher
pub fn enumerate_namespace(&self, ns: &str) -> bool
[src]
Checks if the matcher will match all of the keys in a given namespace.
This will always return true
if a wildcard character is in use (e.g. if
matcher was created with "standard::" and ns
is "standard", or if matcher was created
using "" and namespace is anything.)
TODO: this is awkwardly worded.
ns
a string containing a file attribute namespace.
Returns
true
if the matcher matches all of the entries
in the given ns
, false
otherwise.
pub fn matches(&self, attribute: &str) -> bool
[src]
Checks if an attribute will be matched by an attribute matcher. If
the matcher was created with the "*" matching string, this function
will always return true
.
attribute
a file attribute key.
Returns
true
if attribute
matches self
. false
otherwise.
pub fn matches_only(&self, attribute: &str) -> bool
[src]
Checks if a attribute matcher only matches a given attribute. Always
returns false
if "*" was used when creating the matcher.
attribute
a file attribute key.
Returns
true
if the matcher only matches attribute
. false
otherwise.
pub fn subtract(
&self,
subtract: Option<&FileAttributeMatcher>
) -> Option<FileAttributeMatcher>
[src]
&self,
subtract: Option<&FileAttributeMatcher>
) -> Option<FileAttributeMatcher>
Subtracts all attributes of subtract
from self
and returns
a matcher that supports those attributes.
Note that currently it is not possible to remove a single
attribute when the self
matches the whole namespace - or remove
a namespace or attribute when the matcher matches everything. This
is a limitation of the current implementation, but may be fixed
in the future.
subtract
The matcher to subtract
Returns
A file attribute matcher matching all attributes of
self
that are not matched by subtract
Trait Implementations
impl Clone for FileAttributeMatcher
fn clone(&self) -> FileAttributeMatcher
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for FileAttributeMatcher
[src]
impl Display for FileAttributeMatcher
[src]
impl Eq for FileAttributeMatcher
[src]
impl Hash for FileAttributeMatcher
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl IntoIterator for FileAttributeMatcher
[src]
type Item = GString
The type of the elements being iterated over.
type IntoIter = FileAttributematcherIter
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
[src]
impl Ord for FileAttributeMatcher
[src]
fn cmp(&self, other: &FileAttributeMatcher) -> Ordering
[src]
#[must_use]
fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]
fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]
fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<FileAttributeMatcher> for FileAttributeMatcher
[src]
fn eq(&self, other: &FileAttributeMatcher) -> bool
[src]
fn ne(&self, other: &FileAttributeMatcher) -> bool
[src]
impl PartialOrd<FileAttributeMatcher> for FileAttributeMatcher
[src]
fn partial_cmp(&self, other: &FileAttributeMatcher) -> Option<Ordering>
[src]
fn lt(&self, other: &FileAttributeMatcher) -> bool
[src]
fn le(&self, other: &FileAttributeMatcher) -> bool
[src]
fn gt(&self, other: &FileAttributeMatcher) -> bool
[src]
fn ge(&self, other: &FileAttributeMatcher) -> bool
[src]
impl StaticType for FileAttributeMatcher
fn static_type() -> Type
impl StructuralEq for FileAttributeMatcher
[src]
impl StructuralPartialEq for FileAttributeMatcher
[src]
Auto Trait Implementations
impl RefUnwindSafe for FileAttributeMatcher
impl !Send for FileAttributeMatcher
impl !Sync for FileAttributeMatcher
impl Unpin for FileAttributeMatcher
impl UnwindSafe for FileAttributeMatcher
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<I> IntoIterator for I where
I: Iterator,
[src]
I: Iterator,
type Item = <I as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = I
Which kind of iterator are we turning this into?
fn into_iter(self) -> I
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *const GList> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*const GList, <T as ToGlibContainerFromSlice<'a, *const GList>>::Storage)
[src]
t: &'a [T]
) -> (*const GList, <T as ToGlibContainerFromSlice<'a, *const GList>>::Storage)
fn to_glib_container_from_slice(
_t: &'a [T]
) -> (*const GList, <T as ToGlibContainerFromSlice<'a, *const GList>>::Storage)
[src]
_t: &'a [T]
) -> (*const GList, <T as ToGlibContainerFromSlice<'a, *const GList>>::Storage)
fn to_glib_full_from_slice(_t: &[T]) -> *const GList
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *const GPtrArray> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<PtrArray>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*const GPtrArray, <T as ToGlibContainerFromSlice<'a, *const GPtrArray>>::Storage)
[src]
t: &'a [T]
) -> (*const GPtrArray, <T as ToGlibContainerFromSlice<'a, *const GPtrArray>>::Storage)
fn to_glib_container_from_slice(
_t: &'a [T]
) -> (*const GPtrArray, <T as ToGlibContainerFromSlice<'a, *const GPtrArray>>::Storage)
[src]
_t: &'a [T]
) -> (*const GPtrArray, <T as ToGlibContainerFromSlice<'a, *const GPtrArray>>::Storage)
fn to_glib_full_from_slice(_t: &[T]) -> *const GPtrArray
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *mut GArray> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<Array>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*mut GArray, <T as ToGlibContainerFromSlice<'a, *mut GArray>>::Storage)
[src]
t: &'a [T]
) -> (*mut GArray, <T as ToGlibContainerFromSlice<'a, *mut GArray>>::Storage)
fn to_glib_container_from_slice(
t: &'a [T]
) -> (*mut GArray, <T as ToGlibContainerFromSlice<'a, *mut GArray>>::Storage)
[src]
t: &'a [T]
) -> (*mut GArray, <T as ToGlibContainerFromSlice<'a, *mut GArray>>::Storage)
fn to_glib_full_from_slice(t: &[T]) -> *mut GArray
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *mut GList> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*mut GList, <T as ToGlibContainerFromSlice<'a, *mut GList>>::Storage)
[src]
t: &'a [T]
) -> (*mut GList, <T as ToGlibContainerFromSlice<'a, *mut GList>>::Storage)
fn to_glib_container_from_slice(
t: &'a [T]
) -> (*mut GList, <T as ToGlibContainerFromSlice<'a, *mut GList>>::Storage)
[src]
t: &'a [T]
) -> (*mut GList, <T as ToGlibContainerFromSlice<'a, *mut GList>>::Storage)
fn to_glib_full_from_slice(t: &[T]) -> *mut GList
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *mut GPtrArray> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<PtrArray>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*mut GPtrArray, <T as ToGlibContainerFromSlice<'a, *mut GPtrArray>>::Storage)
[src]
t: &'a [T]
) -> (*mut GPtrArray, <T as ToGlibContainerFromSlice<'a, *mut GPtrArray>>::Storage)
fn to_glib_container_from_slice(
t: &'a [T]
) -> (*mut GPtrArray, <T as ToGlibContainerFromSlice<'a, *mut GPtrArray>>::Storage)
[src]
t: &'a [T]
) -> (*mut GPtrArray, <T as ToGlibContainerFromSlice<'a, *mut GPtrArray>>::Storage)
fn to_glib_full_from_slice(t: &[T]) -> *mut GPtrArray
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T> ToValue for T where
T: SetValue + ?Sized,
[src]
T: SetValue + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,