{-# LINE 2 "./System/GIO/File/FileEnumerator.chs" #-}
module System.GIO.File.FileEnumerator (
FileEnumerator (..),
FileEnumeratorClass,
fileEnumeratorNextFile,
fileEnumeratorClose,
fileEnumeratorNextFilesAsync,
fileEnumeratorNextFilesFinish,
fileEnumeratorCloseAsync,
fileEnumeratorCloseFinish,
fileEnumeratorIsClosed,
fileEnumeratorHasPending,
fileEnumeratorSetPending,
fileEnumeratorGetContainer,
) where
import Control.Monad
import Data.Maybe (fromMaybe)
import System.GIO.Enums
import System.Glib.FFI
import System.Glib.Flags
import System.Glib.GError
import System.Glib.GList
import System.Glib.GObject
import System.Glib.UTFString
import System.GIO.Async.AsyncResult
{-# LINE 74 "./System/GIO/File/FileEnumerator.chs" #-}
import System.GIO.Types
{-# LINE 75 "./System/GIO/File/FileEnumerator.chs" #-}
{-# LINE 77 "./System/GIO/File/FileEnumerator.chs" #-}
fileEnumeratorNextFile :: FileEnumeratorClass enumerator => enumerator
-> Maybe Cancellable
-> IO (Maybe FileInfo)
fileEnumeratorNextFile :: forall enumerator.
FileEnumeratorClass enumerator =>
enumerator -> Maybe Cancellable -> IO (Maybe FileInfo)
fileEnumeratorNextFile enumerator
enumerator Maybe Cancellable
cancellable =
(Ptr (Ptr ()) -> IO (Maybe FileInfo))
-> (GError -> IO (Maybe FileInfo)) -> IO (Maybe FileInfo)
forall a. (Ptr (Ptr ()) -> IO a) -> (GError -> IO a) -> IO a
checkGError ( \Ptr (Ptr ())
gErrorPtr ->
(IO (Ptr FileInfo) -> IO FileInfo)
-> IO (Ptr FileInfo) -> IO (Maybe FileInfo)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((ForeignPtr FileInfo -> FileInfo, FinalizerPtr FileInfo)
-> IO (Ptr FileInfo) -> IO FileInfo
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewGObject (ForeignPtr FileInfo -> FileInfo, FinalizerPtr FileInfo)
forall {a}. (ForeignPtr FileInfo -> FileInfo, FinalizerPtr a)
mkFileInfo) (IO (Ptr FileInfo) -> IO (Maybe FileInfo))
-> IO (Ptr FileInfo) -> IO (Maybe FileInfo)
forall a b. (a -> b) -> a -> b
$
(\(FileEnumerator ForeignPtr FileEnumerator
arg1) (Cancellable ForeignPtr Cancellable
arg2) Ptr (Ptr ())
arg3 -> ForeignPtr FileEnumerator
-> (Ptr FileEnumerator -> IO (Ptr FileInfo)) -> IO (Ptr FileInfo)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr FileEnumerator
arg1 ((Ptr FileEnumerator -> IO (Ptr FileInfo)) -> IO (Ptr FileInfo))
-> (Ptr FileEnumerator -> IO (Ptr FileInfo)) -> IO (Ptr FileInfo)
forall a b. (a -> b) -> a -> b
$ \Ptr FileEnumerator
argPtr1 ->ForeignPtr Cancellable
-> (Ptr Cancellable -> IO (Ptr FileInfo)) -> IO (Ptr FileInfo)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Cancellable
arg2 ((Ptr Cancellable -> IO (Ptr FileInfo)) -> IO (Ptr FileInfo))
-> (Ptr Cancellable -> IO (Ptr FileInfo)) -> IO (Ptr FileInfo)
forall a b. (a -> b) -> a -> b
$ \Ptr Cancellable
argPtr2 ->Ptr FileEnumerator
-> Ptr Cancellable -> Ptr (Ptr ()) -> IO (Ptr FileInfo)
g_file_enumerator_next_file Ptr FileEnumerator
argPtr1 Ptr Cancellable
argPtr2 Ptr (Ptr ())
arg3)
{-# LINE 91 "./System/GIO/File/FileEnumerator.chs" #-}
(enumerator -> FileEnumerator
forall o. FileEnumeratorClass o => o -> FileEnumerator
toFileEnumerator enumerator
enumerator)
(Cancellable -> Maybe Cancellable -> Cancellable
forall a. a -> Maybe a -> a
fromMaybe (ForeignPtr Cancellable -> Cancellable
Cancellable ForeignPtr Cancellable
forall a. ForeignPtr a
nullForeignPtr) Maybe Cancellable
cancellable)
Ptr (Ptr ())
gErrorPtr)
(\ GError
_ -> Maybe FileInfo -> IO (Maybe FileInfo)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe FileInfo
forall a. Maybe a
Nothing)
fileEnumeratorClose :: FileEnumeratorClass enumerator => enumerator
-> Maybe Cancellable
-> IO ()
fileEnumeratorClose :: forall enumerator.
FileEnumeratorClass enumerator =>
enumerator -> Maybe Cancellable -> IO ()
fileEnumeratorClose enumerator
enumerator Maybe Cancellable
cancellable =
(Ptr (Ptr ()) -> IO ()) -> IO ()
forall a. (Ptr (Ptr ()) -> IO a) -> IO a
propagateGError ((Ptr (Ptr ()) -> IO ()) -> IO ())
-> (Ptr (Ptr ()) -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr (Ptr ())
gErrorPtr -> do
(\(FileEnumerator ForeignPtr FileEnumerator
arg1) (Cancellable ForeignPtr Cancellable
arg2) Ptr (Ptr ())
arg3 -> ForeignPtr FileEnumerator
-> (Ptr FileEnumerator -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr FileEnumerator
arg1 ((Ptr FileEnumerator -> IO CInt) -> IO CInt)
-> (Ptr FileEnumerator -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr FileEnumerator
argPtr1 ->ForeignPtr Cancellable -> (Ptr Cancellable -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Cancellable
arg2 ((Ptr Cancellable -> IO CInt) -> IO CInt)
-> (Ptr Cancellable -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr Cancellable
argPtr2 ->Ptr FileEnumerator -> Ptr Cancellable -> Ptr (Ptr ()) -> IO CInt
g_file_enumerator_close Ptr FileEnumerator
argPtr1 Ptr Cancellable
argPtr2 Ptr (Ptr ())
arg3)
{-# LINE 110 "./System/GIO/File/FileEnumerator.chs" #-}
(enumerator -> FileEnumerator
forall o. FileEnumeratorClass o => o -> FileEnumerator
toFileEnumerator enumerator
enumerator)
(Cancellable -> Maybe Cancellable -> Cancellable
forall a. a -> Maybe a -> a
fromMaybe (ForeignPtr Cancellable -> Cancellable
Cancellable ForeignPtr Cancellable
forall a. ForeignPtr a
nullForeignPtr) Maybe Cancellable
cancellable)
Ptr (Ptr ())
gErrorPtr
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
fileEnumeratorNextFilesAsync :: FileEnumeratorClass enumerator
=> enumerator
-> Int
-> Int
-> Maybe Cancellable
-> AsyncReadyCallback
-> IO ()
fileEnumeratorNextFilesAsync :: forall enumerator.
FileEnumeratorClass enumerator =>
enumerator
-> Int -> Int -> Maybe Cancellable -> AsyncReadyCallback -> IO ()
fileEnumeratorNextFilesAsync enumerator
enumerator Int
numFiles Int
ioPriority Maybe Cancellable
cancellable AsyncReadyCallback
callback = do
GAsyncReadyCallback
cCallback <- AsyncReadyCallback -> IO GAsyncReadyCallback
marshalAsyncReadyCallback AsyncReadyCallback
callback
(\(FileEnumerator ForeignPtr FileEnumerator
arg1) CInt
arg2 CInt
arg3 (Cancellable ForeignPtr Cancellable
arg4) GAsyncReadyCallback
arg5 Ptr ()
arg6 -> ForeignPtr FileEnumerator -> (Ptr FileEnumerator -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr FileEnumerator
arg1 ((Ptr FileEnumerator -> IO ()) -> IO ())
-> (Ptr FileEnumerator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr FileEnumerator
argPtr1 ->ForeignPtr Cancellable -> (Ptr Cancellable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Cancellable
arg4 ((Ptr Cancellable -> IO ()) -> IO ())
-> (Ptr Cancellable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Cancellable
argPtr4 ->Ptr FileEnumerator
-> CInt
-> CInt
-> Ptr Cancellable
-> GAsyncReadyCallback
-> Ptr ()
-> IO ()
g_file_enumerator_next_files_async Ptr FileEnumerator
argPtr1 CInt
arg2 CInt
arg3 Ptr Cancellable
argPtr4 GAsyncReadyCallback
arg5 Ptr ()
arg6)
{-# LINE 138 "./System/GIO/File/FileEnumerator.chs" #-}
(toFileEnumerator enumerator)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
numFiles)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
ioPriority)
(Cancellable -> Maybe Cancellable -> Cancellable
forall a. a -> Maybe a -> a
fromMaybe (ForeignPtr Cancellable -> Cancellable
Cancellable ForeignPtr Cancellable
forall a. ForeignPtr a
nullForeignPtr) Maybe Cancellable
cancellable)
GAsyncReadyCallback
cCallback
(GAsyncReadyCallback -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr GAsyncReadyCallback
cCallback)
fileEnumeratorNextFilesFinish :: FileEnumeratorClass enumerator => enumerator
-> AsyncResult
-> IO [FileInfo]
fileEnumeratorNextFilesFinish :: forall enumerator.
FileEnumeratorClass enumerator =>
enumerator -> AsyncResult -> IO [FileInfo]
fileEnumeratorNextFilesFinish enumerator
enumerator AsyncResult
asyncResult =
(Ptr (Ptr ()) -> IO (Ptr ())) -> IO (Ptr ())
forall a. (Ptr (Ptr ()) -> IO a) -> IO a
propagateGError ((\(FileEnumerator ForeignPtr FileEnumerator
arg1) (AsyncResult ForeignPtr AsyncResult
arg2) Ptr (Ptr ())
arg3 -> ForeignPtr FileEnumerator
-> (Ptr FileEnumerator -> IO (Ptr ())) -> IO (Ptr ())
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr FileEnumerator
arg1 ((Ptr FileEnumerator -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr FileEnumerator -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr FileEnumerator
argPtr1 ->ForeignPtr AsyncResult
-> (Ptr AsyncResult -> IO (Ptr ())) -> IO (Ptr ())
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr AsyncResult
arg2 ((Ptr AsyncResult -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr AsyncResult -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr AsyncResult
argPtr2 ->Ptr FileEnumerator
-> Ptr AsyncResult -> Ptr (Ptr ()) -> IO (Ptr ())
g_file_enumerator_next_files_finish Ptr FileEnumerator
argPtr1 Ptr AsyncResult
argPtr2 Ptr (Ptr ())
arg3) (enumerator -> FileEnumerator
forall o. FileEnumeratorClass o => o -> FileEnumerator
toFileEnumerator enumerator
enumerator) AsyncResult
asyncResult)
IO (Ptr ()) -> (Ptr () -> IO [FileInfo]) -> IO [FileInfo]
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Ptr ()
glistPtr -> do
[Ptr FileInfo]
infoPtrs <- Ptr () -> IO [Ptr FileInfo]
forall a. Ptr () -> IO [Ptr a]
fromGList Ptr ()
glistPtr
(Ptr FileInfo -> IO FileInfo) -> [Ptr FileInfo] -> IO [FileInfo]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> [a] -> m [b]
mapM ((ForeignPtr FileInfo -> FileInfo, FinalizerPtr FileInfo)
-> IO (Ptr FileInfo) -> IO FileInfo
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewGObject (ForeignPtr FileInfo -> FileInfo, FinalizerPtr FileInfo)
forall {a}. (ForeignPtr FileInfo -> FileInfo, FinalizerPtr a)
mkFileInfo (IO (Ptr FileInfo) -> IO FileInfo)
-> (Ptr FileInfo -> IO (Ptr FileInfo))
-> Ptr FileInfo
-> IO FileInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Ptr FileInfo -> IO (Ptr FileInfo)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return) [Ptr FileInfo]
infoPtrs
fileEnumeratorCloseAsync :: FileEnumeratorClass enumerator
=> enumerator
-> Int
-> Maybe Cancellable
-> AsyncReadyCallback
-> IO ()
fileEnumeratorCloseAsync :: forall enumerator.
FileEnumeratorClass enumerator =>
enumerator
-> Int -> Maybe Cancellable -> AsyncReadyCallback -> IO ()
fileEnumeratorCloseAsync enumerator
enumerator Int
ioPriority Maybe Cancellable
mbCancellable AsyncReadyCallback
callback = do
GAsyncReadyCallback
cCallback <- AsyncReadyCallback -> IO GAsyncReadyCallback
marshalAsyncReadyCallback AsyncReadyCallback
callback
(\(FileEnumerator ForeignPtr FileEnumerator
arg1) CInt
arg2 (Cancellable ForeignPtr Cancellable
arg3) GAsyncReadyCallback
arg4 Ptr ()
arg5 -> ForeignPtr FileEnumerator -> (Ptr FileEnumerator -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr FileEnumerator
arg1 ((Ptr FileEnumerator -> IO ()) -> IO ())
-> (Ptr FileEnumerator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr FileEnumerator
argPtr1 ->ForeignPtr Cancellable -> (Ptr Cancellable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Cancellable
arg3 ((Ptr Cancellable -> IO ()) -> IO ())
-> (Ptr Cancellable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Cancellable
argPtr3 ->Ptr FileEnumerator
-> CInt
-> Ptr Cancellable
-> GAsyncReadyCallback
-> Ptr ()
-> IO ()
g_file_enumerator_close_async Ptr FileEnumerator
argPtr1 CInt
arg2 Ptr Cancellable
argPtr3 GAsyncReadyCallback
arg4 Ptr ()
arg5)
{-# LINE 169 "./System/GIO/File/FileEnumerator.chs" #-}
(toFileEnumerator enumerator)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
ioPriority)
(Cancellable -> Maybe Cancellable -> Cancellable
forall a. a -> Maybe a -> a
fromMaybe (ForeignPtr Cancellable -> Cancellable
Cancellable ForeignPtr Cancellable
forall a. ForeignPtr a
nullForeignPtr) Maybe Cancellable
mbCancellable)
GAsyncReadyCallback
cCallback
(GAsyncReadyCallback -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr GAsyncReadyCallback
cCallback)
fileEnumeratorCloseFinish :: FileEnumeratorClass enumerator => enumerator
-> AsyncResult
-> IO ()
fileEnumeratorCloseFinish :: forall enumerator.
FileEnumeratorClass enumerator =>
enumerator -> AsyncResult -> IO ()
fileEnumeratorCloseFinish enumerator
enumerator AsyncResult
asyncResult =
(Ptr (Ptr ()) -> IO ()) -> IO ()
forall a. (Ptr (Ptr ()) -> IO a) -> IO a
propagateGError (\Ptr (Ptr ())
gErrorPtr -> do
(\(FileEnumerator ForeignPtr FileEnumerator
arg1) (AsyncResult ForeignPtr AsyncResult
arg2) Ptr (Ptr ())
arg3 -> ForeignPtr FileEnumerator
-> (Ptr FileEnumerator -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr FileEnumerator
arg1 ((Ptr FileEnumerator -> IO CInt) -> IO CInt)
-> (Ptr FileEnumerator -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr FileEnumerator
argPtr1 ->ForeignPtr AsyncResult -> (Ptr AsyncResult -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr AsyncResult
arg2 ((Ptr AsyncResult -> IO CInt) -> IO CInt)
-> (Ptr AsyncResult -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr AsyncResult
argPtr2 ->Ptr FileEnumerator -> Ptr AsyncResult -> Ptr (Ptr ()) -> IO CInt
g_file_enumerator_close_finish Ptr FileEnumerator
argPtr1 Ptr AsyncResult
argPtr2 Ptr (Ptr ())
arg3)
{-# LINE 189 "./System/GIO/File/FileEnumerator.chs" #-}
(enumerator -> FileEnumerator
forall o. FileEnumeratorClass o => o -> FileEnumerator
toFileEnumerator enumerator
enumerator)
AsyncResult
asyncResult
Ptr (Ptr ())
gErrorPtr
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ())
fileEnumeratorIsClosed :: FileEnumeratorClass enumerator => enumerator
-> IO Bool
fileEnumeratorIsClosed :: forall enumerator.
FileEnumeratorClass enumerator =>
enumerator -> IO Bool
fileEnumeratorIsClosed enumerator
enumerator =
(CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
(\(FileEnumerator ForeignPtr FileEnumerator
arg1) -> ForeignPtr FileEnumerator
-> (Ptr FileEnumerator -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr FileEnumerator
arg1 ((Ptr FileEnumerator -> IO CInt) -> IO CInt)
-> (Ptr FileEnumerator -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr FileEnumerator
argPtr1 ->Ptr FileEnumerator -> IO CInt
g_file_enumerator_is_closed Ptr FileEnumerator
argPtr1) (enumerator -> FileEnumerator
forall o. FileEnumeratorClass o => o -> FileEnumerator
toFileEnumerator enumerator
enumerator)
fileEnumeratorHasPending :: FileEnumeratorClass enumerator => enumerator
-> IO Bool
fileEnumeratorHasPending :: forall enumerator.
FileEnumeratorClass enumerator =>
enumerator -> IO Bool
fileEnumeratorHasPending enumerator
enumerator =
(CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
(\(FileEnumerator ForeignPtr FileEnumerator
arg1) -> ForeignPtr FileEnumerator
-> (Ptr FileEnumerator -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr FileEnumerator
arg1 ((Ptr FileEnumerator -> IO CInt) -> IO CInt)
-> (Ptr FileEnumerator -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr FileEnumerator
argPtr1 ->Ptr FileEnumerator -> IO CInt
g_file_enumerator_has_pending Ptr FileEnumerator
argPtr1) (enumerator -> FileEnumerator
forall o. FileEnumeratorClass o => o -> FileEnumerator
toFileEnumerator enumerator
enumerator)
fileEnumeratorSetPending :: FileEnumeratorClass enumerator => enumerator
-> Bool
-> IO ()
fileEnumeratorSetPending :: forall enumerator.
FileEnumeratorClass enumerator =>
enumerator -> Bool -> IO ()
fileEnumeratorSetPending enumerator
enumerator Bool
pending =
(\(FileEnumerator ForeignPtr FileEnumerator
arg1) CInt
arg2 -> ForeignPtr FileEnumerator -> (Ptr FileEnumerator -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr FileEnumerator
arg1 ((Ptr FileEnumerator -> IO ()) -> IO ())
-> (Ptr FileEnumerator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr FileEnumerator
argPtr1 ->Ptr FileEnumerator -> CInt -> IO ()
g_file_enumerator_set_pending Ptr FileEnumerator
argPtr1 CInt
arg2) (enumerator -> FileEnumerator
forall o. FileEnumeratorClass o => o -> FileEnumerator
toFileEnumerator enumerator
enumerator) (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
pending)
fileEnumeratorGetContainer :: FileEnumeratorClass enumerator => enumerator
-> IO File
fileEnumeratorGetContainer :: forall enumerator.
FileEnumeratorClass enumerator =>
enumerator -> IO File
fileEnumeratorGetContainer enumerator
enumerator =
(ForeignPtr File -> File, FinalizerPtr File)
-> IO (Ptr File) -> IO File
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewGObject (ForeignPtr File -> File, FinalizerPtr File)
forall {a}. (ForeignPtr File -> File, FinalizerPtr a)
mkFile (IO (Ptr File) -> IO File) -> IO (Ptr File) -> IO File
forall a b. (a -> b) -> a -> b
$
(\(FileEnumerator ForeignPtr FileEnumerator
arg1) -> ForeignPtr FileEnumerator
-> (Ptr FileEnumerator -> IO (Ptr File)) -> IO (Ptr File)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr FileEnumerator
arg1 ((Ptr FileEnumerator -> IO (Ptr File)) -> IO (Ptr File))
-> (Ptr FileEnumerator -> IO (Ptr File)) -> IO (Ptr File)
forall a b. (a -> b) -> a -> b
$ \Ptr FileEnumerator
argPtr1 ->Ptr FileEnumerator -> IO (Ptr File)
g_file_enumerator_get_container Ptr FileEnumerator
argPtr1) (enumerator -> FileEnumerator
forall o. FileEnumeratorClass o => o -> FileEnumerator
toFileEnumerator enumerator
enumerator)
foreign import ccall safe "g_file_enumerator_next_file"
g_file_enumerator_next_file :: ((Ptr FileEnumerator) -> ((Ptr Cancellable) -> ((Ptr (Ptr ())) -> (IO (Ptr FileInfo)))))
foreign import ccall safe "g_file_enumerator_close"
g_file_enumerator_close :: ((Ptr FileEnumerator) -> ((Ptr Cancellable) -> ((Ptr (Ptr ())) -> (IO CInt))))
foreign import ccall safe "g_file_enumerator_next_files_async"
g_file_enumerator_next_files_async :: ((Ptr FileEnumerator) -> (CInt -> (CInt -> ((Ptr Cancellable) -> ((FunPtr ((Ptr ()) -> ((Ptr AsyncResult) -> ((Ptr ()) -> (IO ()))))) -> ((Ptr ()) -> (IO ())))))))
foreign import ccall safe "g_file_enumerator_next_files_finish"
g_file_enumerator_next_files_finish :: ((Ptr FileEnumerator) -> ((Ptr AsyncResult) -> ((Ptr (Ptr ())) -> (IO (Ptr ())))))
foreign import ccall safe "g_file_enumerator_close_async"
g_file_enumerator_close_async :: ((Ptr FileEnumerator) -> (CInt -> ((Ptr Cancellable) -> ((FunPtr ((Ptr ()) -> ((Ptr AsyncResult) -> ((Ptr ()) -> (IO ()))))) -> ((Ptr ()) -> (IO ()))))))
foreign import ccall safe "g_file_enumerator_close_finish"
g_file_enumerator_close_finish :: ((Ptr FileEnumerator) -> ((Ptr AsyncResult) -> ((Ptr (Ptr ())) -> (IO CInt))))
foreign import ccall safe "g_file_enumerator_is_closed"
g_file_enumerator_is_closed :: ((Ptr FileEnumerator) -> (IO CInt))
foreign import ccall safe "g_file_enumerator_has_pending"
g_file_enumerator_has_pending :: ((Ptr FileEnumerator) -> (IO CInt))
foreign import ccall safe "g_file_enumerator_set_pending"
g_file_enumerator_set_pending :: ((Ptr FileEnumerator) -> (CInt -> (IO ())))
foreign import ccall safe "g_file_enumerator_get_container"
g_file_enumerator_get_container :: ((Ptr FileEnumerator) -> (IO (Ptr File)))