{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Structs.FileAttributeInfoList
(
FileAttributeInfoList(..) ,
newZeroFileAttributeInfoList ,
#if defined(ENABLE_OVERLOADING)
ResolveFileAttributeInfoListMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
FileAttributeInfoListAddMethodInfo ,
#endif
fileAttributeInfoListAdd ,
#if defined(ENABLE_OVERLOADING)
FileAttributeInfoListDupMethodInfo ,
#endif
fileAttributeInfoListDup ,
#if defined(ENABLE_OVERLOADING)
FileAttributeInfoListLookupMethodInfo ,
#endif
fileAttributeInfoListLookup ,
fileAttributeInfoListNew ,
#if defined(ENABLE_OVERLOADING)
FileAttributeInfoListRefMethodInfo ,
#endif
fileAttributeInfoListRef ,
#if defined(ENABLE_OVERLOADING)
FileAttributeInfoListUnrefMethodInfo ,
#endif
fileAttributeInfoListUnref ,
clearFileAttributeInfoListInfos ,
#if defined(ENABLE_OVERLOADING)
fileAttributeInfoList_infos ,
#endif
getFileAttributeInfoListInfos ,
setFileAttributeInfoListInfos ,
#if defined(ENABLE_OVERLOADING)
fileAttributeInfoList_nInfos ,
#endif
getFileAttributeInfoListNInfos ,
setFileAttributeInfoListNInfos ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import {-# SOURCE #-} qualified GI.Gio.Enums as Gio.Enums
import {-# SOURCE #-} qualified GI.Gio.Flags as Gio.Flags
import {-# SOURCE #-} qualified GI.Gio.Structs.FileAttributeInfo as Gio.FileAttributeInfo
#else
import {-# SOURCE #-} qualified GI.Gio.Enums as Gio.Enums
import {-# SOURCE #-} qualified GI.Gio.Flags as Gio.Flags
import {-# SOURCE #-} qualified GI.Gio.Structs.FileAttributeInfo as Gio.FileAttributeInfo
#endif
newtype FileAttributeInfoList = FileAttributeInfoList (SP.ManagedPtr FileAttributeInfoList)
deriving (FileAttributeInfoList -> FileAttributeInfoList -> Bool
(FileAttributeInfoList -> FileAttributeInfoList -> Bool)
-> (FileAttributeInfoList -> FileAttributeInfoList -> Bool)
-> Eq FileAttributeInfoList
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FileAttributeInfoList -> FileAttributeInfoList -> Bool
== :: FileAttributeInfoList -> FileAttributeInfoList -> Bool
$c/= :: FileAttributeInfoList -> FileAttributeInfoList -> Bool
/= :: FileAttributeInfoList -> FileAttributeInfoList -> Bool
Eq)
instance SP.ManagedPtrNewtype FileAttributeInfoList where
toManagedPtr :: FileAttributeInfoList -> ManagedPtr FileAttributeInfoList
toManagedPtr (FileAttributeInfoList ManagedPtr FileAttributeInfoList
p) = ManagedPtr FileAttributeInfoList
p
foreign import ccall "g_file_attribute_info_list_get_type" c_g_file_attribute_info_list_get_type ::
IO GType
type instance O.ParentTypes FileAttributeInfoList = '[]
instance O.HasParentTypes FileAttributeInfoList
instance B.Types.TypedObject FileAttributeInfoList where
glibType :: IO GType
glibType = IO GType
c_g_file_attribute_info_list_get_type
instance B.Types.GBoxed FileAttributeInfoList
instance B.GValue.IsGValue (Maybe FileAttributeInfoList) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_g_file_attribute_info_list_get_type
gvalueSet_ :: Ptr GValue -> Maybe FileAttributeInfoList -> IO ()
gvalueSet_ Ptr GValue
gv Maybe FileAttributeInfoList
P.Nothing = Ptr GValue -> Ptr FileAttributeInfoList -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv (Ptr FileAttributeInfoList
forall a. Ptr a
FP.nullPtr :: FP.Ptr FileAttributeInfoList)
gvalueSet_ Ptr GValue
gv (P.Just FileAttributeInfoList
obj) = FileAttributeInfoList
-> (Ptr FileAttributeInfoList -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr FileAttributeInfoList
obj (Ptr GValue -> Ptr FileAttributeInfoList -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe FileAttributeInfoList)
gvalueGet_ Ptr GValue
gv = do
ptr <- Ptr GValue -> IO (Ptr FileAttributeInfoList)
forall b. Ptr GValue -> IO (Ptr b)
B.GValue.get_boxed Ptr GValue
gv :: IO (Ptr FileAttributeInfoList)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newBoxed FileAttributeInfoList ptr
else return P.Nothing
newZeroFileAttributeInfoList :: MonadIO m => m FileAttributeInfoList
newZeroFileAttributeInfoList :: forall (m :: * -> *). MonadIO m => m FileAttributeInfoList
newZeroFileAttributeInfoList = IO FileAttributeInfoList -> m FileAttributeInfoList
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FileAttributeInfoList -> m FileAttributeInfoList)
-> IO FileAttributeInfoList -> m FileAttributeInfoList
forall a b. (a -> b) -> a -> b
$ Int -> IO (Ptr FileAttributeInfoList)
forall a. GBoxed a => Int -> IO (Ptr a)
callocBoxedBytes Int
16 IO (Ptr FileAttributeInfoList)
-> (Ptr FileAttributeInfoList -> IO FileAttributeInfoList)
-> IO FileAttributeInfoList
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr FileAttributeInfoList -> FileAttributeInfoList)
-> Ptr FileAttributeInfoList -> IO FileAttributeInfoList
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr FileAttributeInfoList -> FileAttributeInfoList
FileAttributeInfoList
instance tag ~ 'AttrSet => Constructible FileAttributeInfoList tag where
new :: forall (m :: * -> *).
MonadIO m =>
(ManagedPtr FileAttributeInfoList -> FileAttributeInfoList)
-> [AttrOp FileAttributeInfoList tag] -> m FileAttributeInfoList
new ManagedPtr FileAttributeInfoList -> FileAttributeInfoList
_ [AttrOp FileAttributeInfoList tag]
attrs = do
o <- m FileAttributeInfoList
forall (m :: * -> *). MonadIO m => m FileAttributeInfoList
newZeroFileAttributeInfoList
GI.Attributes.set o attrs
return o
getFileAttributeInfoListInfos :: MonadIO m => FileAttributeInfoList -> m (Maybe Gio.FileAttributeInfo.FileAttributeInfo)
getFileAttributeInfoListInfos :: forall (m :: * -> *).
MonadIO m =>
FileAttributeInfoList -> m (Maybe FileAttributeInfo)
getFileAttributeInfoListInfos FileAttributeInfoList
s = IO (Maybe FileAttributeInfo) -> m (Maybe FileAttributeInfo)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe FileAttributeInfo) -> m (Maybe FileAttributeInfo))
-> IO (Maybe FileAttributeInfo) -> m (Maybe FileAttributeInfo)
forall a b. (a -> b) -> a -> b
$ FileAttributeInfoList
-> (Ptr FileAttributeInfoList -> IO (Maybe FileAttributeInfo))
-> IO (Maybe FileAttributeInfo)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FileAttributeInfoList
s ((Ptr FileAttributeInfoList -> IO (Maybe FileAttributeInfo))
-> IO (Maybe FileAttributeInfo))
-> (Ptr FileAttributeInfoList -> IO (Maybe FileAttributeInfo))
-> IO (Maybe FileAttributeInfo)
forall a b. (a -> b) -> a -> b
$ \Ptr FileAttributeInfoList
ptr -> do
val <- Ptr (Ptr FileAttributeInfo) -> IO (Ptr FileAttributeInfo)
forall a. Storable a => Ptr a -> IO a
peek (Ptr FileAttributeInfoList
ptr Ptr FileAttributeInfoList -> Int -> Ptr (Ptr FileAttributeInfo)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) :: IO (Ptr Gio.FileAttributeInfo.FileAttributeInfo)
result <- SP.convertIfNonNull val $ \Ptr FileAttributeInfo
val' -> do
val'' <- ((ManagedPtr FileAttributeInfo -> FileAttributeInfo)
-> Ptr FileAttributeInfo -> IO FileAttributeInfo
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr FileAttributeInfo -> FileAttributeInfo
Gio.FileAttributeInfo.FileAttributeInfo) Ptr FileAttributeInfo
val'
return val''
return result
setFileAttributeInfoListInfos :: MonadIO m => FileAttributeInfoList -> Ptr Gio.FileAttributeInfo.FileAttributeInfo -> m ()
setFileAttributeInfoListInfos :: forall (m :: * -> *).
MonadIO m =>
FileAttributeInfoList -> Ptr FileAttributeInfo -> m ()
setFileAttributeInfoListInfos FileAttributeInfoList
s Ptr FileAttributeInfo
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FileAttributeInfoList
-> (Ptr FileAttributeInfoList -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FileAttributeInfoList
s ((Ptr FileAttributeInfoList -> IO ()) -> IO ())
-> (Ptr FileAttributeInfoList -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr FileAttributeInfoList
ptr -> do
Ptr (Ptr FileAttributeInfo) -> Ptr FileAttributeInfo -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr FileAttributeInfoList
ptr Ptr FileAttributeInfoList -> Int -> Ptr (Ptr FileAttributeInfo)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (Ptr FileAttributeInfo
val :: Ptr Gio.FileAttributeInfo.FileAttributeInfo)
clearFileAttributeInfoListInfos :: MonadIO m => FileAttributeInfoList -> m ()
clearFileAttributeInfoListInfos :: forall (m :: * -> *). MonadIO m => FileAttributeInfoList -> m ()
clearFileAttributeInfoListInfos FileAttributeInfoList
s = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FileAttributeInfoList
-> (Ptr FileAttributeInfoList -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FileAttributeInfoList
s ((Ptr FileAttributeInfoList -> IO ()) -> IO ())
-> (Ptr FileAttributeInfoList -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr FileAttributeInfoList
ptr -> do
Ptr (Ptr FileAttributeInfo) -> Ptr FileAttributeInfo -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr FileAttributeInfoList
ptr Ptr FileAttributeInfoList -> Int -> Ptr (Ptr FileAttributeInfo)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (Ptr FileAttributeInfo
forall a. Ptr a
FP.nullPtr :: Ptr Gio.FileAttributeInfo.FileAttributeInfo)
#if defined(ENABLE_OVERLOADING)
data FileAttributeInfoListInfosFieldInfo
instance AttrInfo FileAttributeInfoListInfosFieldInfo where
type AttrBaseTypeConstraint FileAttributeInfoListInfosFieldInfo = (~) FileAttributeInfoList
type AttrAllowedOps FileAttributeInfoListInfosFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint FileAttributeInfoListInfosFieldInfo = (~) (Ptr Gio.FileAttributeInfo.FileAttributeInfo)
type AttrTransferTypeConstraint FileAttributeInfoListInfosFieldInfo = (~)(Ptr Gio.FileAttributeInfo.FileAttributeInfo)
type AttrTransferType FileAttributeInfoListInfosFieldInfo = (Ptr Gio.FileAttributeInfo.FileAttributeInfo)
type AttrGetType FileAttributeInfoListInfosFieldInfo = Maybe Gio.FileAttributeInfo.FileAttributeInfo
type AttrLabel FileAttributeInfoListInfosFieldInfo = "infos"
type AttrOrigin FileAttributeInfoListInfosFieldInfo = FileAttributeInfoList
attrGet = getFileAttributeInfoListInfos
attrSet = setFileAttributeInfoListInfos
attrConstruct = undefined
attrClear = clearFileAttributeInfoListInfos
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Structs.FileAttributeInfoList.infos"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Structs-FileAttributeInfoList.html#g:attr:infos"
})
fileAttributeInfoList_infos :: AttrLabelProxy "infos"
fileAttributeInfoList_infos = AttrLabelProxy
#endif
getFileAttributeInfoListNInfos :: MonadIO m => FileAttributeInfoList -> m Int32
getFileAttributeInfoListNInfos :: forall (m :: * -> *). MonadIO m => FileAttributeInfoList -> m Int32
getFileAttributeInfoListNInfos FileAttributeInfoList
s = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ FileAttributeInfoList
-> (Ptr FileAttributeInfoList -> IO Int32) -> IO Int32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FileAttributeInfoList
s ((Ptr FileAttributeInfoList -> IO Int32) -> IO Int32)
-> (Ptr FileAttributeInfoList -> IO Int32) -> IO Int32
forall a b. (a -> b) -> a -> b
$ \Ptr FileAttributeInfoList
ptr -> do
val <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek (Ptr FileAttributeInfoList
ptr Ptr FileAttributeInfoList -> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) :: IO Int32
return val
setFileAttributeInfoListNInfos :: MonadIO m => FileAttributeInfoList -> Int32 -> m ()
setFileAttributeInfoListNInfos :: forall (m :: * -> *).
MonadIO m =>
FileAttributeInfoList -> Int32 -> m ()
setFileAttributeInfoListNInfos FileAttributeInfoList
s Int32
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FileAttributeInfoList
-> (Ptr FileAttributeInfoList -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FileAttributeInfoList
s ((Ptr FileAttributeInfoList -> IO ()) -> IO ())
-> (Ptr FileAttributeInfoList -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr FileAttributeInfoList
ptr -> do
Ptr Int32 -> Int32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr FileAttributeInfoList
ptr Ptr FileAttributeInfoList -> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (Int32
val :: Int32)
#if defined(ENABLE_OVERLOADING)
data FileAttributeInfoListNInfosFieldInfo
instance AttrInfo FileAttributeInfoListNInfosFieldInfo where
type AttrBaseTypeConstraint FileAttributeInfoListNInfosFieldInfo = (~) FileAttributeInfoList
type AttrAllowedOps FileAttributeInfoListNInfosFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint FileAttributeInfoListNInfosFieldInfo = (~) Int32
type AttrTransferTypeConstraint FileAttributeInfoListNInfosFieldInfo = (~)Int32
type AttrTransferType FileAttributeInfoListNInfosFieldInfo = Int32
type AttrGetType FileAttributeInfoListNInfosFieldInfo = Int32
type AttrLabel FileAttributeInfoListNInfosFieldInfo = "n_infos"
type AttrOrigin FileAttributeInfoListNInfosFieldInfo = FileAttributeInfoList
attrGet = getFileAttributeInfoListNInfos
attrSet = setFileAttributeInfoListNInfos
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Structs.FileAttributeInfoList.nInfos"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Structs-FileAttributeInfoList.html#g:attr:nInfos"
})
fileAttributeInfoList_nInfos :: AttrLabelProxy "nInfos"
fileAttributeInfoList_nInfos = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList FileAttributeInfoList
type instance O.AttributeList FileAttributeInfoList = FileAttributeInfoListAttributeList
type FileAttributeInfoListAttributeList = ('[ '("infos", FileAttributeInfoListInfosFieldInfo), '("nInfos", FileAttributeInfoListNInfosFieldInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "g_file_attribute_info_list_new" g_file_attribute_info_list_new ::
IO (Ptr FileAttributeInfoList)
fileAttributeInfoListNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m FileAttributeInfoList
fileAttributeInfoListNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
m FileAttributeInfoList
fileAttributeInfoListNew = IO FileAttributeInfoList -> m FileAttributeInfoList
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FileAttributeInfoList -> m FileAttributeInfoList)
-> IO FileAttributeInfoList -> m FileAttributeInfoList
forall a b. (a -> b) -> a -> b
$ do
result <- IO (Ptr FileAttributeInfoList)
g_file_attribute_info_list_new
checkUnexpectedReturnNULL "fileAttributeInfoListNew" result
result' <- (wrapBoxed FileAttributeInfoList) result
return result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_file_attribute_info_list_add" g_file_attribute_info_list_add ::
Ptr FileAttributeInfoList ->
CString ->
CUInt ->
CUInt ->
IO ()
fileAttributeInfoListAdd ::
(B.CallStack.HasCallStack, MonadIO m) =>
FileAttributeInfoList
-> T.Text
-> Gio.Enums.FileAttributeType
-> [Gio.Flags.FileAttributeInfoFlags]
-> m ()
fileAttributeInfoListAdd :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FileAttributeInfoList
-> Text -> FileAttributeType -> [FileAttributeInfoFlags] -> m ()
fileAttributeInfoListAdd FileAttributeInfoList
list Text
name FileAttributeType
type_ [FileAttributeInfoFlags]
flags = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
list' <- FileAttributeInfoList -> IO (Ptr FileAttributeInfoList)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FileAttributeInfoList
list
name' <- textToCString name
let type_' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (FileAttributeType -> Int) -> FileAttributeType -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. FileAttributeType -> Int
forall a. Enum a => a -> Int
fromEnum) FileAttributeType
type_
let flags' = [FileAttributeInfoFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [FileAttributeInfoFlags]
flags
g_file_attribute_info_list_add list' name' type_' flags'
touchManagedPtr list
freeMem name'
return ()
#if defined(ENABLE_OVERLOADING)
data FileAttributeInfoListAddMethodInfo
instance (signature ~ (T.Text -> Gio.Enums.FileAttributeType -> [Gio.Flags.FileAttributeInfoFlags] -> m ()), MonadIO m) => O.OverloadedMethod FileAttributeInfoListAddMethodInfo FileAttributeInfoList signature where
overloadedMethod = fileAttributeInfoListAdd
instance O.OverloadedMethodInfo FileAttributeInfoListAddMethodInfo FileAttributeInfoList where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Structs.FileAttributeInfoList.fileAttributeInfoListAdd",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Structs-FileAttributeInfoList.html#v:fileAttributeInfoListAdd"
})
#endif
foreign import ccall "g_file_attribute_info_list_dup" g_file_attribute_info_list_dup ::
Ptr FileAttributeInfoList ->
IO (Ptr FileAttributeInfoList)
fileAttributeInfoListDup ::
(B.CallStack.HasCallStack, MonadIO m) =>
FileAttributeInfoList
-> m FileAttributeInfoList
fileAttributeInfoListDup :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FileAttributeInfoList -> m FileAttributeInfoList
fileAttributeInfoListDup FileAttributeInfoList
list = IO FileAttributeInfoList -> m FileAttributeInfoList
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FileAttributeInfoList -> m FileAttributeInfoList)
-> IO FileAttributeInfoList -> m FileAttributeInfoList
forall a b. (a -> b) -> a -> b
$ do
list' <- FileAttributeInfoList -> IO (Ptr FileAttributeInfoList)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FileAttributeInfoList
list
result <- g_file_attribute_info_list_dup list'
checkUnexpectedReturnNULL "fileAttributeInfoListDup" result
result' <- (wrapBoxed FileAttributeInfoList) result
touchManagedPtr list
return result'
#if defined(ENABLE_OVERLOADING)
data FileAttributeInfoListDupMethodInfo
instance (signature ~ (m FileAttributeInfoList), MonadIO m) => O.OverloadedMethod FileAttributeInfoListDupMethodInfo FileAttributeInfoList signature where
overloadedMethod = fileAttributeInfoListDup
instance O.OverloadedMethodInfo FileAttributeInfoListDupMethodInfo FileAttributeInfoList where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Structs.FileAttributeInfoList.fileAttributeInfoListDup",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Structs-FileAttributeInfoList.html#v:fileAttributeInfoListDup"
})
#endif
foreign import ccall "g_file_attribute_info_list_lookup" g_file_attribute_info_list_lookup ::
Ptr FileAttributeInfoList ->
CString ->
IO (Ptr Gio.FileAttributeInfo.FileAttributeInfo)
fileAttributeInfoListLookup ::
(B.CallStack.HasCallStack, MonadIO m) =>
FileAttributeInfoList
-> T.Text
-> m Gio.FileAttributeInfo.FileAttributeInfo
fileAttributeInfoListLookup :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FileAttributeInfoList -> Text -> m FileAttributeInfo
fileAttributeInfoListLookup FileAttributeInfoList
list Text
name = IO FileAttributeInfo -> m FileAttributeInfo
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FileAttributeInfo -> m FileAttributeInfo)
-> IO FileAttributeInfo -> m FileAttributeInfo
forall a b. (a -> b) -> a -> b
$ do
list' <- FileAttributeInfoList -> IO (Ptr FileAttributeInfoList)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FileAttributeInfoList
list
name' <- textToCString name
result <- g_file_attribute_info_list_lookup list' name'
checkUnexpectedReturnNULL "fileAttributeInfoListLookup" result
result' <- (newPtr Gio.FileAttributeInfo.FileAttributeInfo) result
touchManagedPtr list
freeMem name'
return result'
#if defined(ENABLE_OVERLOADING)
data FileAttributeInfoListLookupMethodInfo
instance (signature ~ (T.Text -> m Gio.FileAttributeInfo.FileAttributeInfo), MonadIO m) => O.OverloadedMethod FileAttributeInfoListLookupMethodInfo FileAttributeInfoList signature where
overloadedMethod = fileAttributeInfoListLookup
instance O.OverloadedMethodInfo FileAttributeInfoListLookupMethodInfo FileAttributeInfoList where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Structs.FileAttributeInfoList.fileAttributeInfoListLookup",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Structs-FileAttributeInfoList.html#v:fileAttributeInfoListLookup"
})
#endif
foreign import ccall "g_file_attribute_info_list_ref" g_file_attribute_info_list_ref ::
Ptr FileAttributeInfoList ->
IO (Ptr FileAttributeInfoList)
fileAttributeInfoListRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
FileAttributeInfoList
-> m FileAttributeInfoList
fileAttributeInfoListRef :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FileAttributeInfoList -> m FileAttributeInfoList
fileAttributeInfoListRef FileAttributeInfoList
list = IO FileAttributeInfoList -> m FileAttributeInfoList
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FileAttributeInfoList -> m FileAttributeInfoList)
-> IO FileAttributeInfoList -> m FileAttributeInfoList
forall a b. (a -> b) -> a -> b
$ do
list' <- FileAttributeInfoList -> IO (Ptr FileAttributeInfoList)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FileAttributeInfoList
list
result <- g_file_attribute_info_list_ref list'
checkUnexpectedReturnNULL "fileAttributeInfoListRef" result
result' <- (wrapBoxed FileAttributeInfoList) result
touchManagedPtr list
return result'
#if defined(ENABLE_OVERLOADING)
data FileAttributeInfoListRefMethodInfo
instance (signature ~ (m FileAttributeInfoList), MonadIO m) => O.OverloadedMethod FileAttributeInfoListRefMethodInfo FileAttributeInfoList signature where
overloadedMethod = fileAttributeInfoListRef
instance O.OverloadedMethodInfo FileAttributeInfoListRefMethodInfo FileAttributeInfoList where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Structs.FileAttributeInfoList.fileAttributeInfoListRef",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Structs-FileAttributeInfoList.html#v:fileAttributeInfoListRef"
})
#endif
foreign import ccall "g_file_attribute_info_list_unref" g_file_attribute_info_list_unref ::
Ptr FileAttributeInfoList ->
IO ()
fileAttributeInfoListUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
FileAttributeInfoList
-> m ()
fileAttributeInfoListUnref :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FileAttributeInfoList -> m ()
fileAttributeInfoListUnref FileAttributeInfoList
list = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
list' <- FileAttributeInfoList -> IO (Ptr FileAttributeInfoList)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FileAttributeInfoList
list
g_file_attribute_info_list_unref list'
touchManagedPtr list
return ()
#if defined(ENABLE_OVERLOADING)
data FileAttributeInfoListUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.OverloadedMethod FileAttributeInfoListUnrefMethodInfo FileAttributeInfoList signature where
overloadedMethod = fileAttributeInfoListUnref
instance O.OverloadedMethodInfo FileAttributeInfoListUnrefMethodInfo FileAttributeInfoList where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Structs.FileAttributeInfoList.fileAttributeInfoListUnref",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Structs-FileAttributeInfoList.html#v:fileAttributeInfoListUnref"
})
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveFileAttributeInfoListMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveFileAttributeInfoListMethod "add" o = FileAttributeInfoListAddMethodInfo
ResolveFileAttributeInfoListMethod "dup" o = FileAttributeInfoListDupMethodInfo
ResolveFileAttributeInfoListMethod "lookup" o = FileAttributeInfoListLookupMethodInfo
ResolveFileAttributeInfoListMethod "ref" o = FileAttributeInfoListRefMethodInfo
ResolveFileAttributeInfoListMethod "unref" o = FileAttributeInfoListUnrefMethodInfo
ResolveFileAttributeInfoListMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFileAttributeInfoListMethod t FileAttributeInfoList, O.OverloadedMethod info FileAttributeInfoList p) => OL.IsLabel t (FileAttributeInfoList -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveFileAttributeInfoListMethod t FileAttributeInfoList, O.OverloadedMethod info FileAttributeInfoList p, R.HasField t FileAttributeInfoList p) => R.HasField t FileAttributeInfoList p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveFileAttributeInfoListMethod t FileAttributeInfoList, O.OverloadedMethodInfo info FileAttributeInfoList) => OL.IsLabel t (O.MethodProxy info FileAttributeInfoList) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif