Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
Determines if a string matches a file attribute.
Synopsis
- newtype FileAttributeMatcher = FileAttributeMatcher (ManagedPtr FileAttributeMatcher)
- noFileAttributeMatcher :: Maybe FileAttributeMatcher
- fileAttributeMatcherEnumerateNamespace :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> Text -> m Bool
- fileAttributeMatcherEnumerateNext :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> m Text
- fileAttributeMatcherMatches :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> Text -> m Bool
- fileAttributeMatcherMatchesOnly :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> Text -> m Bool
- fileAttributeMatcherNew :: (HasCallStack, MonadIO m) => Text -> m FileAttributeMatcher
- fileAttributeMatcherRef :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> m FileAttributeMatcher
- fileAttributeMatcherSubtract :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> FileAttributeMatcher -> m FileAttributeMatcher
- fileAttributeMatcherToString :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> m Text
- fileAttributeMatcherUnref :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> m ()
Exported types
newtype FileAttributeMatcher Source #
Memory-managed wrapper type.
Instances
Eq FileAttributeMatcher Source # | |
Defined in GI.Gio.Structs.FileAttributeMatcher (==) :: FileAttributeMatcher -> FileAttributeMatcher -> Bool # (/=) :: FileAttributeMatcher -> FileAttributeMatcher -> Bool # | |
BoxedObject FileAttributeMatcher Source # | |
Defined in GI.Gio.Structs.FileAttributeMatcher boxedType :: FileAttributeMatcher -> IO GType # | |
IsGValue FileAttributeMatcher Source # | Convert |
Defined in GI.Gio.Structs.FileAttributeMatcher toGValue :: FileAttributeMatcher -> IO GValue # fromGValue :: GValue -> IO FileAttributeMatcher # |
noFileAttributeMatcher :: Maybe FileAttributeMatcher Source #
A convenience alias for Nothing
:: Maybe
FileAttributeMatcher
.
Methods
Overloaded methods
enumerateNamespace
fileAttributeMatcherEnumerateNamespace Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> Text |
|
-> m Bool | Returns: |
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.
enumerateNext
fileAttributeMatcherEnumerateNext Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> m Text | Returns: a string containing the next attribute or |
Gets the next matched attribute from a FileAttributeMatcher
.
matches
fileAttributeMatcherMatches Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> Text |
|
-> m Bool | Returns: |
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
.
matchesOnly
fileAttributeMatcherMatchesOnly Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> Text |
|
-> m Bool | Returns: |
Checks if a attribute matcher only matches a given attribute. Always
returns False
if "*" was used when creating the matcher.
new
fileAttributeMatcherNew Source #
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m FileAttributeMatcher | Returns: a |
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](#signal:key)" strings may be
concatenated with a single comma (e.g. "standard[type](signal:isHidden)").
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.
ref
fileAttributeMatcherRef Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> m FileAttributeMatcher | Returns: a |
References a file attribute matcher.
subtract
fileAttributeMatcherSubtract Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> FileAttributeMatcher |
|
-> m FileAttributeMatcher | Returns: A file attribute matcher matching all attributes of
|
Subtracts all attributes of subtract
from matcher
and returns
a matcher that supports those attributes.
Note that currently it is not possible to remove a single
attribute when the matcher
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.
toString
fileAttributeMatcherToString Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> m Text | Returns: a string describing the attributes the matcher matches
against or |
Prints what the matcher is matching against. The format will be
equal to the format passed to fileAttributeMatcherNew
.
The output however, might not be identical, as the matcher may
decide to use a different order or omit needless parts.
Since: 2.32
unref
fileAttributeMatcherUnref Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> m () |
Unreferences matcher
. If the reference count falls below 1,
the matcher
is automatically freed.