{-# 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 {-# 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
newtype FileAttributeInfoList = FileAttributeInfoList (SP.ManagedPtr FileAttributeInfoList)
deriving (FileAttributeInfoList -> FileAttributeInfoList -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FileAttributeInfoList -> FileAttributeInfoList -> Bool
$c/= :: FileAttributeInfoList -> FileAttributeInfoList -> Bool
== :: FileAttributeInfoList -> FileAttributeInfoList -> Bool
$c== :: 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 = forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv (forall a. Ptr a
FP.nullPtr :: FP.Ptr FileAttributeInfoList)
gvalueSet_ Ptr GValue
gv (P.Just FileAttributeInfoList
obj) = forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr FileAttributeInfoList
obj (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 FileAttributeInfoList
ptr <- forall b. Ptr GValue -> IO (Ptr b)
B.GValue.get_boxed Ptr GValue
gv :: IO (Ptr FileAttributeInfoList)
if Ptr FileAttributeInfoList
ptr forall a. Eq a => a -> a -> Bool
/= forall a. Ptr a
FP.nullPtr
then forall a. a -> Maybe a
P.Just forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr FileAttributeInfoList -> FileAttributeInfoList
FileAttributeInfoList Ptr FileAttributeInfoList
ptr
else forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Maybe a
P.Nothing
newZeroFileAttributeInfoList :: MonadIO m => m FileAttributeInfoList
newZeroFileAttributeInfoList :: forall (m :: * -> *). MonadIO m => m FileAttributeInfoList
newZeroFileAttributeInfoList = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a. GBoxed a => Int -> IO (Ptr a)
callocBoxedBytes Int
16 forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= 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
FileAttributeInfoList
o <- forall (m :: * -> *). MonadIO m => m FileAttributeInfoList
newZeroFileAttributeInfoList
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set FileAttributeInfoList
o [AttrOp FileAttributeInfoList tag]
attrs
forall (m :: * -> *) a. Monad m => a -> m a
return FileAttributeInfoList
o
getFileAttributeInfoListInfos :: MonadIO m => FileAttributeInfoList -> m (Maybe Gio.FileAttributeInfo.FileAttributeInfo)
getFileAttributeInfoListInfos :: forall (m :: * -> *).
MonadIO m =>
FileAttributeInfoList -> m (Maybe FileAttributeInfo)
getFileAttributeInfoListInfos FileAttributeInfoList
s = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FileAttributeInfoList
s forall a b. (a -> b) -> a -> b
$ \Ptr FileAttributeInfoList
ptr -> do
Ptr FileAttributeInfo
val <- forall a. Storable a => Ptr a -> IO a
peek (Ptr FileAttributeInfoList
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) :: IO (Ptr Gio.FileAttributeInfo.FileAttributeInfo)
Maybe FileAttributeInfo
result <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull Ptr FileAttributeInfo
val forall a b. (a -> b) -> a -> b
$ \Ptr FileAttributeInfo
val' -> do
FileAttributeInfo
val'' <- (forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr FileAttributeInfo -> FileAttributeInfo
Gio.FileAttributeInfo.FileAttributeInfo) Ptr FileAttributeInfo
val'
forall (m :: * -> *) a. Monad m => a -> m a
return FileAttributeInfo
val''
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe FileAttributeInfo
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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FileAttributeInfoList
s forall a b. (a -> b) -> a -> b
$ \Ptr FileAttributeInfoList
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr FileAttributeInfoList
ptr 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FileAttributeInfoList
s forall a b. (a -> b) -> a -> b
$ \Ptr FileAttributeInfoList
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr FileAttributeInfoList
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (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.30/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FileAttributeInfoList
s forall a b. (a -> b) -> a -> b
$ \Ptr FileAttributeInfoList
ptr -> do
Int32
val <- forall a. Storable a => Ptr a -> IO a
peek (Ptr FileAttributeInfoList
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) :: IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
val
setFileAttributeInfoListNInfos :: MonadIO m => FileAttributeInfoList -> Int32 -> m ()
setFileAttributeInfoListNInfos :: forall (m :: * -> *).
MonadIO m =>
FileAttributeInfoList -> Int32 -> m ()
setFileAttributeInfoListNInfos FileAttributeInfoList
s Int32
val = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FileAttributeInfoList
s forall a b. (a -> b) -> a -> b
$ \Ptr FileAttributeInfoList
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr FileAttributeInfoList
ptr 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.30/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr FileAttributeInfoList
result <- IO (Ptr FileAttributeInfoList)
g_file_attribute_info_list_new
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"fileAttributeInfoListNew" Ptr FileAttributeInfoList
result
FileAttributeInfoList
result' <- (forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr FileAttributeInfoList -> FileAttributeInfoList
FileAttributeInfoList) Ptr FileAttributeInfoList
result
forall (m :: * -> *) a. Monad m => a -> m a
return FileAttributeInfoList
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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr FileAttributeInfoList
list' <- forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FileAttributeInfoList
list
CString
name' <- Text -> IO CString
textToCString Text
name
let type_' :: CUInt
type_' = (forall a b. (Integral a, Num b) => a -> b
fromIntegral forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Enum a => a -> Int
fromEnum) FileAttributeType
type_
let flags' :: CUInt
flags' = forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [FileAttributeInfoFlags]
flags
Ptr FileAttributeInfoList -> CString -> CUInt -> CUInt -> IO ()
g_file_attribute_info_list_add Ptr FileAttributeInfoList
list' CString
name' CUInt
type_' CUInt
flags'
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FileAttributeInfoList
list
forall a. Ptr a -> IO ()
freeMem CString
name'
forall (m :: * -> *) a. Monad m => a -> m a
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.30/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr FileAttributeInfoList
list' <- forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FileAttributeInfoList
list
Ptr FileAttributeInfoList
result <- Ptr FileAttributeInfoList -> IO (Ptr FileAttributeInfoList)
g_file_attribute_info_list_dup Ptr FileAttributeInfoList
list'
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"fileAttributeInfoListDup" Ptr FileAttributeInfoList
result
FileAttributeInfoList
result' <- (forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr FileAttributeInfoList -> FileAttributeInfoList
FileAttributeInfoList) Ptr FileAttributeInfoList
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FileAttributeInfoList
list
forall (m :: * -> *) a. Monad m => a -> m a
return FileAttributeInfoList
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.30/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr FileAttributeInfoList
list' <- forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FileAttributeInfoList
list
CString
name' <- Text -> IO CString
textToCString Text
name
Ptr FileAttributeInfo
result <- Ptr FileAttributeInfoList -> CString -> IO (Ptr FileAttributeInfo)
g_file_attribute_info_list_lookup Ptr FileAttributeInfoList
list' CString
name'
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"fileAttributeInfoListLookup" Ptr FileAttributeInfo
result
FileAttributeInfo
result' <- (forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr FileAttributeInfo -> FileAttributeInfo
Gio.FileAttributeInfo.FileAttributeInfo) Ptr FileAttributeInfo
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FileAttributeInfoList
list
forall a. Ptr a -> IO ()
freeMem CString
name'
forall (m :: * -> *) a. Monad m => a -> m a
return FileAttributeInfo
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.30/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr FileAttributeInfoList
list' <- forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FileAttributeInfoList
list
Ptr FileAttributeInfoList
result <- Ptr FileAttributeInfoList -> IO (Ptr FileAttributeInfoList)
g_file_attribute_info_list_ref Ptr FileAttributeInfoList
list'
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"fileAttributeInfoListRef" Ptr FileAttributeInfoList
result
FileAttributeInfoList
result' <- (forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr FileAttributeInfoList -> FileAttributeInfoList
FileAttributeInfoList) Ptr FileAttributeInfoList
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FileAttributeInfoList
list
forall (m :: * -> *) a. Monad m => a -> m a
return FileAttributeInfoList
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.30/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr FileAttributeInfoList
list' <- forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FileAttributeInfoList
list
Ptr FileAttributeInfoList -> IO ()
g_file_attribute_info_list_unref Ptr FileAttributeInfoList
list'
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FileAttributeInfoList
list
forall (m :: * -> *) a. Monad m => a -> m a
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.30/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