module System.GIO.File.FileInfo (
FileInfo(..),
FileInfoClass,
FileAttributeStatus (..),
fileInfoNew,
fileInfoDup,
fileInfoCopyInto,
fileInfoHasAttribute,
fileInfoHasNamespace,
fileInfoListAttributes,
fileInfoGetAttributeType,
fileInfoRemoveAttribute,
fileInfoGetAttributeAsString,
fileInfoGetAttributeStatus,
fileInfoGetAttributeString,
fileInfoGetAttributeStringList,
fileInfoGetAttributeByteString,
fileInfoGetAttributeBool,
fileInfoGetAttributeWord32,
fileInfoGetAttributeInt32,
fileInfoGetAttributeWord64,
fileInfoGetAttributeInt64,
fileInfoGetAttributeObject,
fileInfoSetAttributeStatus,
fileInfoSetAttributeString,
fileInfoSetAttributeStringList,
fileInfoSetAttributeByteString,
fileInfoSetAttributeBool,
fileInfoSetAttributeWord32,
fileInfoSetAttributeInt32,
fileInfoSetAttributeWord64,
fileInfoSetAttributeInt64,
fileInfoSetAttributeObject,
fileInfoClearStatus,
fileInfoGetFileType,
fileInfoGetIsHidden,
fileInfoGetIsBackup,
fileInfoGetIsSymlink,
fileInfoGetName,
fileInfoGetDisplayName,
fileInfoGetEditName,
fileInfoGetIcon,
fileInfoGetContentType,
fileInfoGetModificationTime,
fileInfoGetSize,
fileInfoGetSymlinkTarget,
fileInfoGetEtag,
fileInfoGetSortOrder,
fileInfoUnsetAttributeMask,
fileInfoSetFileType,
fileInfoSetIsHidden,
fileInfoSetIsSymlink,
fileInfoSetName,
fileInfoSetDisplayName,
fileInfoSetEditName,
fileInfoSetIcon,
fileInfoSetContentType,
fileInfoSetModificationTime,
fileInfoSetSize,
fileInfoSetSortOrder,
) where
import Control.Monad
import Data.ByteString (ByteString)
import Data.ByteString (useAsCString)
import Data.ByteString.Unsafe (unsafePackCStringFinalizer)
import System.Glib.FFI
import System.Glib.Flags
import System.Glib.GError
import System.Glib.UTFString
import System.Glib.GObject
import System.Glib.GDateTime
import System.GIO.Enums
import System.GIO.File.FileAttribute
import System.GIO.Types
fileInfoNew :: IO FileInfo
fileInfoNew =
wrapNewGObject mkFileInfo $
g_file_info_new
fileInfoDup :: FileInfoClass info => info -> IO FileInfo
fileInfoDup info =
wrapNewGObject mkFileInfo $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_dup argPtr1) (toFileInfo info)
fileInfoCopyInto :: (FileInfoClass srcInfo, FileInfoClass destInfo)
=> srcInfo
-> destInfo
-> IO ()
fileInfoCopyInto srcInfo destInfo =
(\(FileInfo arg1) (FileInfo arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->g_file_info_copy_into argPtr1 argPtr2) (toFileInfo srcInfo) (toFileInfo destInfo)
fileInfoHasAttribute :: (FileInfoClass info, GlibString string) => info
-> string
-> Bool
fileInfoHasAttribute info attribute =
toBool $ unsafePerformIO $
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_has_attribute argPtr1 arg2) (toFileInfo info) attributePtr
fileInfoHasNamespace :: (FileInfoClass info, GlibString string) => info
-> string
-> Bool
fileInfoHasNamespace info namespace =
toBool $ unsafePerformIO $
withUTFString namespace $ \ namespacePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_has_namespace argPtr1 arg2) (toFileInfo info) namespacePtr
fileInfoListAttributes :: (FileInfoClass info, GlibString string) => info
-> string
-> IO [string]
fileInfoListAttributes info nameSpace =
withUTFString nameSpace $ \ nameSpacePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_list_attributes argPtr1 arg2) (toFileInfo info) nameSpacePtr
>>= readUTFStringArray0
fileInfoGetAttributeType :: (FileInfoClass info, GlibString string) => info
-> string
-> IO FileAttributeType
fileInfoGetAttributeType info attribute =
liftM (toEnum . fromIntegral) $
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_attribute_type argPtr1 arg2) (toFileInfo info) attributePtr
fileInfoRemoveAttribute :: (FileInfoClass info, GlibString string) => info
-> string
-> IO ()
fileInfoRemoveAttribute info attribute =
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_remove_attribute argPtr1 arg2) (toFileInfo info) attributePtr
fileInfoGetAttributeAsString :: (FileInfoClass info, GlibString string) => info
-> string
-> IO string
fileInfoGetAttributeAsString info attribute =
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_attribute_as_string argPtr1 arg2) (toFileInfo info) attributePtr
>>= readUTFString
fileInfoGetAttributeStatus :: (FileInfoClass info, GlibString string) => info
-> string
-> IO FileAttributeStatus
fileInfoGetAttributeStatus info attribute =
liftM (toEnum . fromIntegral) $
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_attribute_status argPtr1 arg2) (toFileInfo info) attributePtr
fileInfoGetAttributeString :: (FileInfoClass info, GlibString string) => info
-> string
-> IO string
fileInfoGetAttributeString info attribute =
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_attribute_string argPtr1 arg2) (toFileInfo info) attributePtr
>>= readUTFString
fileInfoGetAttributeStringList :: (FileInfoClass info, GlibString string) => info
-> string
-> IO [string]
fileInfoGetAttributeStringList info attribute =
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_attribute_stringv argPtr1 arg2) (toFileInfo info) attributePtr
>>= readUTFStringArray0
fileInfoGetAttributeByteString :: (FileInfoClass info, GlibString string) => info
-> string
-> IO ByteString
fileInfoGetAttributeByteString info attribute =
withUTFString attribute $ \ attributePtr -> do
sPtr <- (\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_attribute_byte_string argPtr1 arg2) (toFileInfo info) attributePtr
sLen <- lengthArray0 0 sPtr
unsafePackCStringFinalizer (castPtr sPtr) (fromIntegral sLen)
(g_free (castPtr sPtr))
fileInfoGetAttributeBool :: (FileInfoClass info, GlibString string) => info
-> string
-> IO Bool
fileInfoGetAttributeBool info attribute =
liftM toBool $
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_attribute_boolean argPtr1 arg2) (toFileInfo info) attributePtr
fileInfoGetAttributeWord32 :: (FileInfoClass info, GlibString string) => info
-> string
-> IO Word32
fileInfoGetAttributeWord32 info attribute =
liftM fromIntegral $
withUTFString attribute $ \ attributePtr -> do
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_attribute_uint32 argPtr1 arg2) (toFileInfo info) attributePtr
fileInfoGetAttributeInt32 :: (FileInfoClass info, GlibString string) => info
-> string
-> IO Int32
fileInfoGetAttributeInt32 info attribute =
liftM fromIntegral $
withUTFString attribute $ \ attributePtr -> do
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_attribute_int32 argPtr1 arg2) (toFileInfo info) attributePtr
fileInfoGetAttributeWord64 :: (FileInfoClass info, GlibString string) => info
-> string
-> IO Word64
fileInfoGetAttributeWord64 info attribute =
liftM fromIntegral $
withUTFString attribute $ \ attributePtr -> do
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_attribute_uint64 argPtr1 arg2) (toFileInfo info) attributePtr
fileInfoGetAttributeInt64 :: (FileInfoClass info, GlibString string) => info
-> string
-> IO Int64
fileInfoGetAttributeInt64 info attribute =
liftM fromIntegral $
withUTFString attribute $ \ attributePtr -> do
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_attribute_int64 argPtr1 arg2) (toFileInfo info) attributePtr
fileInfoGetAttributeObject :: (FileInfoClass info, GlibString string) => info
-> string
-> IO (Maybe GObject)
fileInfoGetAttributeObject info attribute =
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_attribute_object argPtr1 arg2) (toFileInfo info) attributePtr
>>= \x -> maybeNull (makeNewGObject mkGObject) (return $ castPtr x)
fileInfoSetAttributeStatus :: (FileInfoClass info, GlibString string) => info
-> string
-> FileAttributeStatus
-> IO Bool
fileInfoSetAttributeStatus info attribute status =
liftM toBool $
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_attribute_status argPtr1 arg2 arg3)
(toFileInfo info)
attributePtr
((fromIntegral . fromEnum) status)
fileInfoSetAttributeString :: (FileInfoClass info, GlibString string) => info
-> string
-> string
-> IO ()
fileInfoSetAttributeString info attribute attrValue =
withUTFString attribute $ \ attributePtr ->
withUTFString attrValue $ \ attrValuePtr ->
(\(FileInfo arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_attribute_string argPtr1 arg2 arg3) (toFileInfo info) attributePtr attrValuePtr
fileInfoSetAttributeStringList :: (FileInfoClass info, GlibString string) => info
-> string
-> [string]
-> IO ()
fileInfoSetAttributeStringList info attribute attrValue =
withUTFString attribute $ \ attributePtr ->
withUTFStringArray0 attrValue $ \ attrValuePtr ->
(\(FileInfo arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_attribute_stringv argPtr1 arg2 arg3) (toFileInfo info) attributePtr attrValuePtr
fileInfoSetAttributeByteString :: (FileInfoClass info, GlibString string) => info
-> string
-> ByteString
-> IO ()
fileInfoSetAttributeByteString info attribute attrValue =
withUTFString attribute $ \ attributePtr ->
useAsCString attrValue $ \ attrValuePtr ->
(\(FileInfo arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_attribute_byte_string argPtr1 arg2 arg3) (toFileInfo info) attributePtr attrValuePtr
fileInfoSetAttributeBool :: (FileInfoClass info, GlibString string) => info
-> string
-> Bool
-> IO ()
fileInfoSetAttributeBool info attribute attrValue =
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_attribute_boolean argPtr1 arg2 arg3) (toFileInfo info) attributePtr (fromBool attrValue)
fileInfoSetAttributeWord32 :: (FileInfoClass info, GlibString string) => info
-> string
-> Word32
-> IO ()
fileInfoSetAttributeWord32 info attribute attrValue =
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_attribute_uint32 argPtr1 arg2 arg3) (toFileInfo info) attributePtr (fromIntegral attrValue)
fileInfoSetAttributeInt32 :: (FileInfoClass info, GlibString string) => info
-> string
-> Int32
-> IO ()
fileInfoSetAttributeInt32 info attribute attrValue =
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_attribute_int32 argPtr1 arg2 arg3) (toFileInfo info) attributePtr (fromIntegral attrValue)
fileInfoSetAttributeWord64 :: (FileInfoClass info, GlibString string) => info
-> string
-> Word64
-> IO ()
fileInfoSetAttributeWord64 info attribute attrValue =
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_attribute_uint64 argPtr1 arg2 arg3) (toFileInfo info) attributePtr (fromIntegral attrValue)
fileInfoSetAttributeInt64 :: (FileInfoClass info, GlibString string) => info
-> string
-> Int64
-> IO ()
fileInfoSetAttributeInt64 info attribute attrValue =
withUTFString attribute $ \ attributePtr ->
(\(FileInfo arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_attribute_int64 argPtr1 arg2 arg3) (toFileInfo info) attributePtr (fromIntegral attrValue)
fileInfoSetAttributeObject :: (FileInfoClass info, GlibString string) => info
-> string
-> GObject
-> IO ()
fileInfoSetAttributeObject info attribute (GObject attrValue) =
withUTFString attribute $ \ attributePtr ->
withForeignPtr attrValue $ \attrValuePtr ->
(\(FileInfo arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_attribute_object argPtr1 arg2 arg3) (toFileInfo info) attributePtr (castPtr attrValuePtr)
fileInfoClearStatus :: FileInfoClass info => info -> IO ()
fileInfoClearStatus info =
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_clear_status argPtr1) (toFileInfo info)
fileInfoGetFileType :: FileInfoClass info => info
-> FileType
fileInfoGetFileType info =
(toEnum . fromIntegral) $ unsafePerformIO $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_file_type argPtr1) (toFileInfo info)
fileInfoGetIsHidden :: FileInfoClass info => info
-> Bool
fileInfoGetIsHidden info =
toBool $ unsafePerformIO $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_is_hidden argPtr1) (toFileInfo info)
fileInfoGetIsBackup :: FileInfoClass info => info
-> Bool
fileInfoGetIsBackup info =
toBool $ unsafePerformIO $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_is_backup argPtr1) (toFileInfo info)
fileInfoGetIsSymlink :: FileInfoClass info => info
-> Bool
fileInfoGetIsSymlink info =
toBool $ unsafePerformIO $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_is_symlink argPtr1) (toFileInfo info)
fileInfoGetName :: FileInfoClass info => info
-> Maybe ByteString
fileInfoGetName info =
unsafePerformIO $ do
sPtr <- (\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_name argPtr1) (toFileInfo info)
if sPtr == nullPtr
then return Nothing
else do
sLen <- lengthArray0 0 sPtr
liftM Just $ unsafePackCStringFinalizer (castPtr sPtr) (fromIntegral sLen)
(g_free (castPtr sPtr))
fileInfoGetDisplayName :: (FileInfoClass info, GlibString string) => info
-> Maybe string
fileInfoGetDisplayName info =
unsafePerformIO $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_display_name argPtr1) (toFileInfo info)
>>= maybePeek readUTFString
fileInfoGetEditName :: (FileInfoClass info, GlibString string) => info
-> Maybe string
fileInfoGetEditName info =
unsafePerformIO $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_edit_name argPtr1) (toFileInfo info)
>>= maybePeek readUTFString
fileInfoGetIcon :: FileInfoClass info => info
-> IO Icon
fileInfoGetIcon info =
makeNewGObject mkIcon $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_icon argPtr1) (toFileInfo info)
fileInfoGetContentType :: (FileInfoClass info, GlibString string) => info
-> Maybe string
fileInfoGetContentType info =
unsafePerformIO $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_content_type argPtr1) (toFileInfo info)
>>= maybePeek peekUTFString
fileInfoGetModificationTime :: FileInfoClass info => info
-> GTimeVal
fileInfoGetModificationTime info =
unsafePerformIO $
alloca $ \ timeValPtr -> do
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_modification_time argPtr1 arg2) (toFileInfo info) (castPtr timeValPtr)
peek timeValPtr
fileInfoGetSize :: FileInfoClass info => info
-> Int64
fileInfoGetSize info =
fromIntegral $ unsafePerformIO $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_size argPtr1) (toFileInfo info)
fileInfoGetSymlinkTarget :: (FileInfoClass info, GlibString string) => info
-> Maybe string
fileInfoGetSymlinkTarget info =
unsafePerformIO $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_symlink_target argPtr1) (toFileInfo info)
>>= maybePeek readUTFString
fileInfoGetEtag :: (FileInfoClass info, GlibString string) => info
-> Maybe string
fileInfoGetEtag info =
unsafePerformIO $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_etag argPtr1) (toFileInfo info)
>>= maybePeek readUTFString
fileInfoGetSortOrder :: FileInfoClass info => info
-> Int
fileInfoGetSortOrder info =
fromIntegral $ unsafePerformIO $
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_get_sort_order argPtr1) (toFileInfo info)
fileInfoUnsetAttributeMask :: FileInfoClass info => info -> IO ()
fileInfoUnsetAttributeMask info =
(\(FileInfo arg1) -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_unset_attribute_mask argPtr1) (toFileInfo info)
fileInfoSetFileType :: FileInfoClass info => info -> FileType -> IO ()
fileInfoSetFileType info fType =
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_file_type argPtr1 arg2)
(toFileInfo info)
((fromIntegral . fromEnum) fType)
fileInfoSetIsHidden :: FileInfoClass info => info -> Bool -> IO ()
fileInfoSetIsHidden info isHidden =
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_is_hidden argPtr1 arg2) (toFileInfo info) (fromBool isHidden)
fileInfoSetIsSymlink :: FileInfoClass info => info -> Bool -> IO ()
fileInfoSetIsSymlink info isSymlink =
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_is_symlink argPtr1 arg2) (toFileInfo info) (fromBool isSymlink)
fileInfoSetName :: FileInfoClass info => info -> ByteString -> IO ()
fileInfoSetName info name =
useAsCString name $ \ namePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_name argPtr1 arg2) (toFileInfo info) namePtr
fileInfoSetDisplayName :: (FileInfoClass info, GlibString string) => info -> string -> IO ()
fileInfoSetDisplayName info displayName =
withUTFString displayName $ \ displayNamePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_display_name argPtr1 arg2) (toFileInfo info) displayNamePtr
fileInfoSetEditName :: (FileInfoClass info, GlibString string) => info -> string -> IO ()
fileInfoSetEditName info editName =
withUTFString editName $ \ editNamePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_edit_name argPtr1 arg2) (toFileInfo info) editNamePtr
fileInfoSetIcon :: FileInfoClass info => info -> Icon -> IO ()
fileInfoSetIcon info icon =
(\(FileInfo arg1) (Icon arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->g_file_info_set_icon argPtr1 argPtr2) (toFileInfo info) (toIcon icon)
fileInfoSetContentType :: (FileInfoClass info, GlibString string) => info
-> string
-> IO ()
fileInfoSetContentType info contentType =
withUTFString contentType $ \ contentTypePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_content_type argPtr1 arg2) (toFileInfo info) contentTypePtr
fileInfoSetModificationTime :: FileInfoClass info => info
-> GTimeVal
-> IO ()
fileInfoSetModificationTime info mtime =
with mtime $ \ mtimePtr ->
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_modification_time argPtr1 arg2) (toFileInfo info) (castPtr mtimePtr)
fileInfoSetSize :: FileInfoClass info => info
-> Int64
-> IO ()
fileInfoSetSize info size =
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_size argPtr1 arg2) (toFileInfo info) (fromIntegral size)
fileInfoSetSortOrder :: FileInfoClass info => info
-> Int
-> IO ()
fileInfoSetSortOrder info sortOrder =
(\(FileInfo arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->g_file_info_set_sort_order argPtr1 arg2) (toFileInfo info) (fromIntegral sortOrder)
foreign import ccall safe "g_file_info_new"
g_file_info_new :: (IO (Ptr FileInfo))
foreign import ccall safe "g_file_info_dup"
g_file_info_dup :: ((Ptr FileInfo) -> (IO (Ptr FileInfo)))
foreign import ccall safe "g_file_info_copy_into"
g_file_info_copy_into :: ((Ptr FileInfo) -> ((Ptr FileInfo) -> (IO ())))
foreign import ccall safe "g_file_info_has_attribute"
g_file_info_has_attribute :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO CInt)))
foreign import ccall safe "g_file_info_has_namespace"
g_file_info_has_namespace :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO CInt)))
foreign import ccall safe "g_file_info_list_attributes"
g_file_info_list_attributes :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO (Ptr (Ptr CChar)))))
foreign import ccall safe "g_file_info_get_attribute_type"
g_file_info_get_attribute_type :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO CInt)))
foreign import ccall safe "g_file_info_remove_attribute"
g_file_info_remove_attribute :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "g_file_info_get_attribute_as_string"
g_file_info_get_attribute_as_string :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO (Ptr CChar))))
foreign import ccall safe "g_file_info_get_attribute_status"
g_file_info_get_attribute_status :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO CInt)))
foreign import ccall safe "g_file_info_get_attribute_string"
g_file_info_get_attribute_string :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO (Ptr CChar))))
foreign import ccall safe "g_file_info_get_attribute_stringv"
g_file_info_get_attribute_stringv :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO (Ptr (Ptr CChar)))))
foreign import ccall safe "g_file_info_get_attribute_byte_string"
g_file_info_get_attribute_byte_string :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO (Ptr CChar))))
foreign import ccall unsafe "g_free"
g_free :: ((Ptr ()) -> (IO ()))
foreign import ccall safe "g_file_info_get_attribute_boolean"
g_file_info_get_attribute_boolean :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO CInt)))
foreign import ccall safe "g_file_info_get_attribute_uint32"
g_file_info_get_attribute_uint32 :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO CUInt)))
foreign import ccall safe "g_file_info_get_attribute_int32"
g_file_info_get_attribute_int32 :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO CInt)))
foreign import ccall safe "g_file_info_get_attribute_uint64"
g_file_info_get_attribute_uint64 :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO CULong)))
foreign import ccall safe "g_file_info_get_attribute_int64"
g_file_info_get_attribute_int64 :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO CLong)))
foreign import ccall safe "g_file_info_get_attribute_object"
g_file_info_get_attribute_object :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO (Ptr ()))))
foreign import ccall safe "g_file_info_set_attribute_status"
g_file_info_set_attribute_status :: ((Ptr FileInfo) -> ((Ptr CChar) -> (CInt -> (IO CInt))))
foreign import ccall safe "g_file_info_set_attribute_string"
g_file_info_set_attribute_string :: ((Ptr FileInfo) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
foreign import ccall safe "g_file_info_set_attribute_stringv"
g_file_info_set_attribute_stringv :: ((Ptr FileInfo) -> ((Ptr CChar) -> ((Ptr (Ptr CChar)) -> (IO ()))))
foreign import ccall safe "g_file_info_set_attribute_byte_string"
g_file_info_set_attribute_byte_string :: ((Ptr FileInfo) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
foreign import ccall safe "g_file_info_set_attribute_boolean"
g_file_info_set_attribute_boolean :: ((Ptr FileInfo) -> ((Ptr CChar) -> (CInt -> (IO ()))))
foreign import ccall safe "g_file_info_set_attribute_uint32"
g_file_info_set_attribute_uint32 :: ((Ptr FileInfo) -> ((Ptr CChar) -> (CUInt -> (IO ()))))
foreign import ccall safe "g_file_info_set_attribute_int32"
g_file_info_set_attribute_int32 :: ((Ptr FileInfo) -> ((Ptr CChar) -> (CInt -> (IO ()))))
foreign import ccall safe "g_file_info_set_attribute_uint64"
g_file_info_set_attribute_uint64 :: ((Ptr FileInfo) -> ((Ptr CChar) -> (CULong -> (IO ()))))
foreign import ccall safe "g_file_info_set_attribute_int64"
g_file_info_set_attribute_int64 :: ((Ptr FileInfo) -> ((Ptr CChar) -> (CLong -> (IO ()))))
foreign import ccall safe "g_file_info_set_attribute_object"
g_file_info_set_attribute_object :: ((Ptr FileInfo) -> ((Ptr CChar) -> ((Ptr ()) -> (IO ()))))
foreign import ccall safe "g_file_info_clear_status"
g_file_info_clear_status :: ((Ptr FileInfo) -> (IO ()))
foreign import ccall safe "g_file_info_get_file_type"
g_file_info_get_file_type :: ((Ptr FileInfo) -> (IO CInt))
foreign import ccall safe "g_file_info_get_is_hidden"
g_file_info_get_is_hidden :: ((Ptr FileInfo) -> (IO CInt))
foreign import ccall safe "g_file_info_get_is_backup"
g_file_info_get_is_backup :: ((Ptr FileInfo) -> (IO CInt))
foreign import ccall safe "g_file_info_get_is_symlink"
g_file_info_get_is_symlink :: ((Ptr FileInfo) -> (IO CInt))
foreign import ccall safe "g_file_info_get_name"
g_file_info_get_name :: ((Ptr FileInfo) -> (IO (Ptr CChar)))
foreign import ccall safe "g_file_info_get_display_name"
g_file_info_get_display_name :: ((Ptr FileInfo) -> (IO (Ptr CChar)))
foreign import ccall safe "g_file_info_get_edit_name"
g_file_info_get_edit_name :: ((Ptr FileInfo) -> (IO (Ptr CChar)))
foreign import ccall safe "g_file_info_get_icon"
g_file_info_get_icon :: ((Ptr FileInfo) -> (IO (Ptr Icon)))
foreign import ccall safe "g_file_info_get_content_type"
g_file_info_get_content_type :: ((Ptr FileInfo) -> (IO (Ptr CChar)))
foreign import ccall safe "g_file_info_get_modification_time"
g_file_info_get_modification_time :: ((Ptr FileInfo) -> ((Ptr ()) -> (IO ())))
foreign import ccall safe "g_file_info_get_size"
g_file_info_get_size :: ((Ptr FileInfo) -> (IO CLong))
foreign import ccall safe "g_file_info_get_symlink_target"
g_file_info_get_symlink_target :: ((Ptr FileInfo) -> (IO (Ptr CChar)))
foreign import ccall safe "g_file_info_get_etag"
g_file_info_get_etag :: ((Ptr FileInfo) -> (IO (Ptr CChar)))
foreign import ccall safe "g_file_info_get_sort_order"
g_file_info_get_sort_order :: ((Ptr FileInfo) -> (IO CInt))
foreign import ccall safe "g_file_info_unset_attribute_mask"
g_file_info_unset_attribute_mask :: ((Ptr FileInfo) -> (IO ()))
foreign import ccall safe "g_file_info_set_file_type"
g_file_info_set_file_type :: ((Ptr FileInfo) -> (CInt -> (IO ())))
foreign import ccall safe "g_file_info_set_is_hidden"
g_file_info_set_is_hidden :: ((Ptr FileInfo) -> (CInt -> (IO ())))
foreign import ccall safe "g_file_info_set_is_symlink"
g_file_info_set_is_symlink :: ((Ptr FileInfo) -> (CInt -> (IO ())))
foreign import ccall safe "g_file_info_set_name"
g_file_info_set_name :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "g_file_info_set_display_name"
g_file_info_set_display_name :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "g_file_info_set_edit_name"
g_file_info_set_edit_name :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "g_file_info_set_icon"
g_file_info_set_icon :: ((Ptr FileInfo) -> ((Ptr Icon) -> (IO ())))
foreign import ccall safe "g_file_info_set_content_type"
g_file_info_set_content_type :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "g_file_info_set_modification_time"
g_file_info_set_modification_time :: ((Ptr FileInfo) -> ((Ptr ()) -> (IO ())))
foreign import ccall safe "g_file_info_set_size"
g_file_info_set_size :: ((Ptr FileInfo) -> (CLong -> (IO ())))
foreign import ccall safe "g_file_info_set_sort_order"
g_file_info_set_sort_order :: ((Ptr FileInfo) -> (CInt -> (IO ())))