| Copyright | Will Thompson and Iñaki García Etxebarria |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
GI.Gio.Structs.FileAttributeMatcher
Description
Determines if a string matches a file attribute.
Synopsis
- newtype FileAttributeMatcher = FileAttributeMatcher (ManagedPtr FileAttributeMatcher)
- fileAttributeMatcherEnumerateNamespace :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> Text -> m Bool
- fileAttributeMatcherEnumerateNext :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> m (Maybe 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 -> Maybe FileAttributeMatcher -> m (Maybe FileAttributeMatcher)
- fileAttributeMatcherToString :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> m Text
- fileAttributeMatcherUnref :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> m ()
Exported types
newtype FileAttributeMatcher Source #
Memory-managed wrapper type.
Constructors
| FileAttributeMatcher (ManagedPtr FileAttributeMatcher) |
Instances
Methods
Click to display all available methods, including inherited ones
Methods
enumerateNamespace, enumerateNext, matches, matchesOnly, ref, subtract, toString, unref.
Getters
None.
Setters
None.
enumerateNamespace
fileAttributeMatcherEnumerateNamespace Source #
Arguments
| :: (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 #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => FileAttributeMatcher |
|
| -> m (Maybe Text) | Returns: a string containing the next attribute or, |
Gets the next matched attribute from a FileAttributeMatcher.
matches
fileAttributeMatcherMatches Source #
Arguments
| :: (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 #
Arguments
| :: (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 #
Arguments
| :: (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 attributes string should be formatted with specific keys separated
from namespaces with a double colon. Several "namespace[key](#g:signal:key)" strings may be
concatenated with a single comma (e.g. "standard[type](g: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 #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => FileAttributeMatcher |
|
| -> m FileAttributeMatcher | Returns: a |
References a file attribute matcher.
subtract
fileAttributeMatcherSubtract Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => FileAttributeMatcher |
|
| -> Maybe FileAttributeMatcher |
|
| -> m (Maybe 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 #
Arguments
| :: (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 #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => FileAttributeMatcher |
|
| -> m () |
Unreferences matcher. If the reference count falls below 1,
the matcher is automatically freed.