gi-gio-0.2.46.12: GI/Gio/Structs/FileAttributeMatcher.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
Determines if a string matches a file attribute.
-}
module GI.Gio.Structs.FileAttributeMatcher
(
-- * Exported types
FileAttributeMatcher(..) ,
noFileAttributeMatcher ,
-- * Methods
-- ** fileAttributeMatcherEnumerateNamespace
fileAttributeMatcherEnumerateNamespace ,
-- ** fileAttributeMatcherEnumerateNext
fileAttributeMatcherEnumerateNext ,
-- ** fileAttributeMatcherMatches
fileAttributeMatcherMatches ,
-- ** fileAttributeMatcherMatchesOnly
fileAttributeMatcherMatchesOnly ,
-- ** fileAttributeMatcherNew
fileAttributeMatcherNew ,
-- ** fileAttributeMatcherRef
fileAttributeMatcherRef ,
-- ** fileAttributeMatcherSubtract
fileAttributeMatcherSubtract ,
-- ** fileAttributeMatcherToString
fileAttributeMatcherToString ,
-- ** fileAttributeMatcherUnref
fileAttributeMatcherUnref ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gio.Types
import GI.Gio.Callbacks
newtype FileAttributeMatcher = FileAttributeMatcher (ForeignPtr FileAttributeMatcher)
foreign import ccall "g_file_attribute_matcher_get_type" c_g_file_attribute_matcher_get_type ::
IO GType
instance BoxedObject FileAttributeMatcher where
boxedType _ = c_g_file_attribute_matcher_get_type
noFileAttributeMatcher :: Maybe FileAttributeMatcher
noFileAttributeMatcher = Nothing
-- method FileAttributeMatcher::new
-- method type : Constructor
-- Args : [Arg {argName = "attributes", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "attributes", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "FileAttributeMatcher"
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_matcher_new" g_file_attribute_matcher_new ::
CString -> -- attributes : TBasicType TUTF8
IO (Ptr FileAttributeMatcher)
fileAttributeMatcherNew ::
(MonadIO m) =>
T.Text -> -- attributes
m FileAttributeMatcher
fileAttributeMatcherNew attributes = liftIO $ do
attributes' <- textToCString attributes
result <- g_file_attribute_matcher_new attributes'
checkUnexpectedReturnNULL "g_file_attribute_matcher_new" result
result' <- (wrapBoxed FileAttributeMatcher) result
freeMem attributes'
return result'
-- method FileAttributeMatcher::enumerate_namespace
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ns", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ns", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_matcher_enumerate_namespace" g_file_attribute_matcher_enumerate_namespace ::
Ptr FileAttributeMatcher -> -- _obj : TInterface "Gio" "FileAttributeMatcher"
CString -> -- ns : TBasicType TUTF8
IO CInt
fileAttributeMatcherEnumerateNamespace ::
(MonadIO m) =>
FileAttributeMatcher -> -- _obj
T.Text -> -- ns
m Bool
fileAttributeMatcherEnumerateNamespace _obj ns = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
ns' <- textToCString ns
result <- g_file_attribute_matcher_enumerate_namespace _obj' ns'
let result' = (/= 0) result
touchManagedPtr _obj
freeMem ns'
return result'
-- method FileAttributeMatcher::enumerate_next
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_matcher_enumerate_next" g_file_attribute_matcher_enumerate_next ::
Ptr FileAttributeMatcher -> -- _obj : TInterface "Gio" "FileAttributeMatcher"
IO CString
fileAttributeMatcherEnumerateNext ::
(MonadIO m) =>
FileAttributeMatcher -> -- _obj
m T.Text
fileAttributeMatcherEnumerateNext _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_file_attribute_matcher_enumerate_next _obj'
checkUnexpectedReturnNULL "g_file_attribute_matcher_enumerate_next" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method FileAttributeMatcher::matches
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attribute", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attribute", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_matcher_matches" g_file_attribute_matcher_matches ::
Ptr FileAttributeMatcher -> -- _obj : TInterface "Gio" "FileAttributeMatcher"
CString -> -- attribute : TBasicType TUTF8
IO CInt
fileAttributeMatcherMatches ::
(MonadIO m) =>
FileAttributeMatcher -> -- _obj
T.Text -> -- attribute
m Bool
fileAttributeMatcherMatches _obj attribute = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
attribute' <- textToCString attribute
result <- g_file_attribute_matcher_matches _obj' attribute'
let result' = (/= 0) result
touchManagedPtr _obj
freeMem attribute'
return result'
-- method FileAttributeMatcher::matches_only
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attribute", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attribute", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_matcher_matches_only" g_file_attribute_matcher_matches_only ::
Ptr FileAttributeMatcher -> -- _obj : TInterface "Gio" "FileAttributeMatcher"
CString -> -- attribute : TBasicType TUTF8
IO CInt
fileAttributeMatcherMatchesOnly ::
(MonadIO m) =>
FileAttributeMatcher -> -- _obj
T.Text -> -- attribute
m Bool
fileAttributeMatcherMatchesOnly _obj attribute = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
attribute' <- textToCString attribute
result <- g_file_attribute_matcher_matches_only _obj' attribute'
let result' = (/= 0) result
touchManagedPtr _obj
freeMem attribute'
return result'
-- method FileAttributeMatcher::ref
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "FileAttributeMatcher"
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_matcher_ref" g_file_attribute_matcher_ref ::
Ptr FileAttributeMatcher -> -- _obj : TInterface "Gio" "FileAttributeMatcher"
IO (Ptr FileAttributeMatcher)
fileAttributeMatcherRef ::
(MonadIO m) =>
FileAttributeMatcher -> -- _obj
m FileAttributeMatcher
fileAttributeMatcherRef _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_file_attribute_matcher_ref _obj'
checkUnexpectedReturnNULL "g_file_attribute_matcher_ref" result
result' <- (wrapBoxed FileAttributeMatcher) result
touchManagedPtr _obj
return result'
-- method FileAttributeMatcher::subtract
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "subtract", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "subtract", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "FileAttributeMatcher"
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_matcher_subtract" g_file_attribute_matcher_subtract ::
Ptr FileAttributeMatcher -> -- _obj : TInterface "Gio" "FileAttributeMatcher"
Ptr FileAttributeMatcher -> -- subtract : TInterface "Gio" "FileAttributeMatcher"
IO (Ptr FileAttributeMatcher)
fileAttributeMatcherSubtract ::
(MonadIO m) =>
FileAttributeMatcher -> -- _obj
FileAttributeMatcher -> -- subtract
m FileAttributeMatcher
fileAttributeMatcherSubtract _obj subtract = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let subtract' = unsafeManagedPtrGetPtr subtract
result <- g_file_attribute_matcher_subtract _obj' subtract'
checkUnexpectedReturnNULL "g_file_attribute_matcher_subtract" result
result' <- (wrapBoxed FileAttributeMatcher) result
touchManagedPtr _obj
touchManagedPtr subtract
return result'
-- method FileAttributeMatcher::to_string
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_matcher_to_string" g_file_attribute_matcher_to_string ::
Ptr FileAttributeMatcher -> -- _obj : TInterface "Gio" "FileAttributeMatcher"
IO CString
fileAttributeMatcherToString ::
(MonadIO m) =>
FileAttributeMatcher -> -- _obj
m T.Text
fileAttributeMatcherToString _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_file_attribute_matcher_to_string _obj'
checkUnexpectedReturnNULL "g_file_attribute_matcher_to_string" result
result' <- cstringToText result
freeMem result
touchManagedPtr _obj
return result'
-- method FileAttributeMatcher::unref
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeMatcher", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_matcher_unref" g_file_attribute_matcher_unref ::
Ptr FileAttributeMatcher -> -- _obj : TInterface "Gio" "FileAttributeMatcher"
IO ()
fileAttributeMatcherUnref ::
(MonadIO m) =>
FileAttributeMatcher -> -- _obj
m ()
fileAttributeMatcherUnref _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_file_attribute_matcher_unref _obj'
touchManagedPtr _obj
return ()