gi-gio-0.2.44.12: GI/Gio/Structs/FileAttributeInfoList.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)
Acts as a lightweight registry for possible valid file attributes.
The registry stores Key-Value pair formats as #GFileAttributeInfos.
-}
module GI.Gio.Structs.FileAttributeInfoList
(
-- * Exported types
FileAttributeInfoList(..) ,
noFileAttributeInfoList ,
-- * Methods
-- ** fileAttributeInfoListAdd
fileAttributeInfoListAdd ,
-- ** fileAttributeInfoListDup
fileAttributeInfoListDup ,
-- ** fileAttributeInfoListLookup
fileAttributeInfoListLookup ,
-- ** fileAttributeInfoListNew
fileAttributeInfoListNew ,
-- ** fileAttributeInfoListRef
fileAttributeInfoListRef ,
-- ** fileAttributeInfoListUnref
fileAttributeInfoListUnref ,
-- * Properties
-- ** Infos
fileAttributeInfoListReadInfos ,
-- ** NInfos
fileAttributeInfoListReadNInfos ,
) 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 FileAttributeInfoList = FileAttributeInfoList (ForeignPtr FileAttributeInfoList)
foreign import ccall "g_file_attribute_info_list_get_type" c_g_file_attribute_info_list_get_type ::
IO GType
instance BoxedObject FileAttributeInfoList where
boxedType _ = c_g_file_attribute_info_list_get_type
noFileAttributeInfoList :: Maybe FileAttributeInfoList
noFileAttributeInfoList = Nothing
fileAttributeInfoListReadInfos :: FileAttributeInfoList -> IO FileAttributeInfo
fileAttributeInfoListReadInfos s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO (Ptr FileAttributeInfo)
val' <- (newPtr 16 FileAttributeInfo) val
return val'
fileAttributeInfoListReadNInfos :: FileAttributeInfoList -> IO Int32
fileAttributeInfoListReadNInfos s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO Int32
return val
-- method FileAttributeInfoList::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TInterface "Gio" "FileAttributeInfoList"
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_info_list_new" g_file_attribute_info_list_new ::
IO (Ptr FileAttributeInfoList)
fileAttributeInfoListNew ::
(MonadIO m) =>
m FileAttributeInfoList
fileAttributeInfoListNew = liftIO $ do
result <- g_file_attribute_info_list_new
checkUnexpectedReturnNULL "g_file_attribute_info_list_new" result
result' <- (wrapBoxed FileAttributeInfoList) result
return result'
-- method FileAttributeInfoList::add
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeInfoList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gio" "FileAttributeType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Gio" "FileAttributeInfoFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeInfoList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gio" "FileAttributeType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Gio" "FileAttributeInfoFlags", 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_info_list_add" g_file_attribute_info_list_add ::
Ptr FileAttributeInfoList -> -- _obj : TInterface "Gio" "FileAttributeInfoList"
CString -> -- name : TBasicType TUTF8
CUInt -> -- type : TInterface "Gio" "FileAttributeType"
CUInt -> -- flags : TInterface "Gio" "FileAttributeInfoFlags"
IO ()
fileAttributeInfoListAdd ::
(MonadIO m) =>
FileAttributeInfoList -> -- _obj
T.Text -> -- name
FileAttributeType -> -- type
[FileAttributeInfoFlags] -> -- flags
m ()
fileAttributeInfoListAdd _obj name type_ flags = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
name' <- textToCString name
let type_' = (fromIntegral . fromEnum) type_
let flags' = gflagsToWord flags
g_file_attribute_info_list_add _obj' name' type_' flags'
touchManagedPtr _obj
freeMem name'
return ()
-- method FileAttributeInfoList::dup
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeInfoList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeInfoList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "FileAttributeInfoList"
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_info_list_dup" g_file_attribute_info_list_dup ::
Ptr FileAttributeInfoList -> -- _obj : TInterface "Gio" "FileAttributeInfoList"
IO (Ptr FileAttributeInfoList)
fileAttributeInfoListDup ::
(MonadIO m) =>
FileAttributeInfoList -> -- _obj
m FileAttributeInfoList
fileAttributeInfoListDup _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_file_attribute_info_list_dup _obj'
checkUnexpectedReturnNULL "g_file_attribute_info_list_dup" result
result' <- (wrapBoxed FileAttributeInfoList) result
touchManagedPtr _obj
return result'
-- method FileAttributeInfoList::lookup
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeInfoList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeInfoList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "FileAttributeInfo"
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_info_list_lookup" g_file_attribute_info_list_lookup ::
Ptr FileAttributeInfoList -> -- _obj : TInterface "Gio" "FileAttributeInfoList"
CString -> -- name : TBasicType TUTF8
IO (Ptr FileAttributeInfo)
fileAttributeInfoListLookup ::
(MonadIO m) =>
FileAttributeInfoList -> -- _obj
T.Text -> -- name
m FileAttributeInfo
fileAttributeInfoListLookup _obj name = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
name' <- textToCString name
result <- g_file_attribute_info_list_lookup _obj' name'
checkUnexpectedReturnNULL "g_file_attribute_info_list_lookup" result
result' <- (newPtr 16 FileAttributeInfo) result
touchManagedPtr _obj
freeMem name'
return result'
-- method FileAttributeInfoList::ref
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeInfoList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeInfoList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "FileAttributeInfoList"
-- throws : False
-- Skip return : False
foreign import ccall "g_file_attribute_info_list_ref" g_file_attribute_info_list_ref ::
Ptr FileAttributeInfoList -> -- _obj : TInterface "Gio" "FileAttributeInfoList"
IO (Ptr FileAttributeInfoList)
fileAttributeInfoListRef ::
(MonadIO m) =>
FileAttributeInfoList -> -- _obj
m FileAttributeInfoList
fileAttributeInfoListRef _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_file_attribute_info_list_ref _obj'
checkUnexpectedReturnNULL "g_file_attribute_info_list_ref" result
result' <- (wrapBoxed FileAttributeInfoList) result
touchManagedPtr _obj
return result'
-- method FileAttributeInfoList::unref
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeInfoList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FileAttributeInfoList", 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_info_list_unref" g_file_attribute_info_list_unref ::
Ptr FileAttributeInfoList -> -- _obj : TInterface "Gio" "FileAttributeInfoList"
IO ()
fileAttributeInfoListUnref ::
(MonadIO m) =>
FileAttributeInfoList -> -- _obj
m ()
fileAttributeInfoListUnref _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_file_attribute_info_list_unref _obj'
touchManagedPtr _obj
return ()