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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 => 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 CULLong)))
foreign import ccall safe "g_file_info_get_attribute_int64"
g_file_info_get_attribute_int64 :: ((Ptr FileInfo) -> ((Ptr CChar) -> (IO CLLong)))
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) -> (CULLong -> (IO ()))))
foreign import ccall safe "g_file_info_set_attribute_int64"
g_file_info_set_attribute_int64 :: ((Ptr FileInfo) -> ((Ptr CChar) -> (CLLong -> (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 CLLong))
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) -> (CLLong -> (IO ())))
foreign import ccall safe "g_file_info_set_sort_order"
g_file_info_set_sort_order :: ((Ptr FileInfo) -> (CInt -> (IO ())))