{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.OSTree.Structs.CommitSizesEntry
(
CommitSizesEntry(..) ,
newZeroCommitSizesEntry ,
#if defined(ENABLE_OVERLOADING)
ResolveCommitSizesEntryMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
CommitSizesEntryCopyMethodInfo ,
#endif
commitSizesEntryCopy ,
#if defined(ENABLE_OVERLOADING)
CommitSizesEntryFreeMethodInfo ,
#endif
commitSizesEntryFree ,
commitSizesEntryNew ,
#if defined(ENABLE_OVERLOADING)
commitSizesEntry_archived ,
#endif
getCommitSizesEntryArchived ,
setCommitSizesEntryArchived ,
clearCommitSizesEntryChecksum ,
#if defined(ENABLE_OVERLOADING)
commitSizesEntry_checksum ,
#endif
getCommitSizesEntryChecksum ,
setCommitSizesEntryChecksum ,
#if defined(ENABLE_OVERLOADING)
commitSizesEntry_objtype ,
#endif
getCommitSizesEntryObjtype ,
setCommitSizesEntryObjtype ,
#if defined(ENABLE_OVERLOADING)
commitSizesEntry_unpacked ,
#endif
getCommitSizesEntryUnpacked ,
setCommitSizesEntryUnpacked ,
) 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.OSTree.Enums as OSTree.Enums
newtype CommitSizesEntry = CommitSizesEntry (SP.ManagedPtr CommitSizesEntry)
deriving (CommitSizesEntry -> CommitSizesEntry -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CommitSizesEntry -> CommitSizesEntry -> Bool
$c/= :: CommitSizesEntry -> CommitSizesEntry -> Bool
== :: CommitSizesEntry -> CommitSizesEntry -> Bool
$c== :: CommitSizesEntry -> CommitSizesEntry -> Bool
Eq)
instance SP.ManagedPtrNewtype CommitSizesEntry where
toManagedPtr :: CommitSizesEntry -> ManagedPtr CommitSizesEntry
toManagedPtr (CommitSizesEntry ManagedPtr CommitSizesEntry
p) = ManagedPtr CommitSizesEntry
p
foreign import ccall "ostree_commit_sizes_entry_get_type" c_ostree_commit_sizes_entry_get_type ::
IO GType
type instance O.ParentTypes CommitSizesEntry = '[]
instance O.HasParentTypes CommitSizesEntry
instance B.Types.TypedObject CommitSizesEntry where
glibType :: IO GType
glibType = IO GType
c_ostree_commit_sizes_entry_get_type
instance B.Types.GBoxed CommitSizesEntry
instance B.GValue.IsGValue (Maybe CommitSizesEntry) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ostree_commit_sizes_entry_get_type
gvalueSet_ :: Ptr GValue -> Maybe CommitSizesEntry -> IO ()
gvalueSet_ Ptr GValue
gv Maybe CommitSizesEntry
P.Nothing = forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv (forall a. Ptr a
FP.nullPtr :: FP.Ptr CommitSizesEntry)
gvalueSet_ Ptr GValue
gv (P.Just CommitSizesEntry
obj) = forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr CommitSizesEntry
obj (forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe CommitSizesEntry)
gvalueGet_ Ptr GValue
gv = do
Ptr CommitSizesEntry
ptr <- forall b. Ptr GValue -> IO (Ptr b)
B.GValue.get_boxed Ptr GValue
gv :: IO (Ptr CommitSizesEntry)
if Ptr CommitSizesEntry
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 CommitSizesEntry -> CommitSizesEntry
CommitSizesEntry Ptr CommitSizesEntry
ptr
else forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Maybe a
P.Nothing
newZeroCommitSizesEntry :: MonadIO m => m CommitSizesEntry
newZeroCommitSizesEntry :: forall (m :: * -> *). MonadIO m => m CommitSizesEntry
newZeroCommitSizesEntry = 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
24 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 CommitSizesEntry -> CommitSizesEntry
CommitSizesEntry
instance tag ~ 'AttrSet => Constructible CommitSizesEntry tag where
new :: forall (m :: * -> *).
MonadIO m =>
(ManagedPtr CommitSizesEntry -> CommitSizesEntry)
-> [AttrOp CommitSizesEntry tag] -> m CommitSizesEntry
new ManagedPtr CommitSizesEntry -> CommitSizesEntry
_ [AttrOp CommitSizesEntry tag]
attrs = do
CommitSizesEntry
o <- forall (m :: * -> *). MonadIO m => m CommitSizesEntry
newZeroCommitSizesEntry
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set CommitSizesEntry
o [AttrOp CommitSizesEntry tag]
attrs
forall (m :: * -> *) a. Monad m => a -> m a
return CommitSizesEntry
o
getCommitSizesEntryChecksum :: MonadIO m => CommitSizesEntry -> m (Maybe T.Text)
getCommitSizesEntryChecksum :: forall (m :: * -> *).
MonadIO m =>
CommitSizesEntry -> m (Maybe Text)
getCommitSizesEntryChecksum CommitSizesEntry
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 CommitSizesEntry
s forall a b. (a -> b) -> a -> b
$ \Ptr CommitSizesEntry
ptr -> do
CString
val <- forall a. Storable a => Ptr a -> IO a
peek (Ptr CommitSizesEntry
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) :: IO CString
Maybe Text
result <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull CString
val forall a b. (a -> b) -> a -> b
$ \CString
val' -> do
Text
val'' <- HasCallStack => CString -> IO Text
cstringToText CString
val'
forall (m :: * -> *) a. Monad m => a -> m a
return Text
val''
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
result
setCommitSizesEntryChecksum :: MonadIO m => CommitSizesEntry -> CString -> m ()
setCommitSizesEntryChecksum :: forall (m :: * -> *).
MonadIO m =>
CommitSizesEntry -> CString -> m ()
setCommitSizesEntryChecksum CommitSizesEntry
s CString
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 CommitSizesEntry
s forall a b. (a -> b) -> a -> b
$ \Ptr CommitSizesEntry
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CommitSizesEntry
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (CString
val :: CString)
clearCommitSizesEntryChecksum :: MonadIO m => CommitSizesEntry -> m ()
clearCommitSizesEntryChecksum :: forall (m :: * -> *). MonadIO m => CommitSizesEntry -> m ()
clearCommitSizesEntryChecksum CommitSizesEntry
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 CommitSizesEntry
s forall a b. (a -> b) -> a -> b
$ \Ptr CommitSizesEntry
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CommitSizesEntry
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (forall a. Ptr a
FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING)
data CommitSizesEntryChecksumFieldInfo
instance AttrInfo CommitSizesEntryChecksumFieldInfo where
type AttrBaseTypeConstraint CommitSizesEntryChecksumFieldInfo = (~) CommitSizesEntry
type AttrAllowedOps CommitSizesEntryChecksumFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint CommitSizesEntryChecksumFieldInfo = (~) CString
type AttrTransferTypeConstraint CommitSizesEntryChecksumFieldInfo = (~)CString
type AttrTransferType CommitSizesEntryChecksumFieldInfo = CString
type AttrGetType CommitSizesEntryChecksumFieldInfo = Maybe T.Text
type AttrLabel CommitSizesEntryChecksumFieldInfo = "checksum"
type AttrOrigin CommitSizesEntryChecksumFieldInfo = CommitSizesEntry
attrGet = getCommitSizesEntryChecksum
attrSet = setCommitSizesEntryChecksum
attrConstruct = undefined
attrClear = clearCommitSizesEntryChecksum
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.CommitSizesEntry.checksum"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.16/docs/GI-OSTree-Structs-CommitSizesEntry.html#g:attr:checksum"
})
commitSizesEntry_checksum :: AttrLabelProxy "checksum"
commitSizesEntry_checksum = AttrLabelProxy
#endif
getCommitSizesEntryObjtype :: MonadIO m => CommitSizesEntry -> m OSTree.Enums.ObjectType
getCommitSizesEntryObjtype :: forall (m :: * -> *). MonadIO m => CommitSizesEntry -> m ObjectType
getCommitSizesEntryObjtype CommitSizesEntry
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 CommitSizesEntry
s forall a b. (a -> b) -> a -> b
$ \Ptr CommitSizesEntry
ptr -> do
CUInt
val <- forall a. Storable a => Ptr a -> IO a
peek (Ptr CommitSizesEntry
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4) :: IO CUInt
let val' :: ObjectType
val' = (forall a. Enum a => Int -> a
toEnum forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
val
forall (m :: * -> *) a. Monad m => a -> m a
return ObjectType
val'
setCommitSizesEntryObjtype :: MonadIO m => CommitSizesEntry -> OSTree.Enums.ObjectType -> m ()
setCommitSizesEntryObjtype :: forall (m :: * -> *).
MonadIO m =>
CommitSizesEntry -> ObjectType -> m ()
setCommitSizesEntryObjtype CommitSizesEntry
s ObjectType
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 CommitSizesEntry
s forall a b. (a -> b) -> a -> b
$ \Ptr CommitSizesEntry
ptr -> do
let val' :: CUInt
val' = (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) ObjectType
val
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CommitSizesEntry
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4) (CUInt
val' :: CUInt)
#if defined(ENABLE_OVERLOADING)
data CommitSizesEntryObjtypeFieldInfo
instance AttrInfo CommitSizesEntryObjtypeFieldInfo where
type AttrBaseTypeConstraint CommitSizesEntryObjtypeFieldInfo = (~) CommitSizesEntry
type AttrAllowedOps CommitSizesEntryObjtypeFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint CommitSizesEntryObjtypeFieldInfo = (~) OSTree.Enums.ObjectType
type AttrTransferTypeConstraint CommitSizesEntryObjtypeFieldInfo = (~)OSTree.Enums.ObjectType
type AttrTransferType CommitSizesEntryObjtypeFieldInfo = OSTree.Enums.ObjectType
type AttrGetType CommitSizesEntryObjtypeFieldInfo = OSTree.Enums.ObjectType
type AttrLabel CommitSizesEntryObjtypeFieldInfo = "objtype"
type AttrOrigin CommitSizesEntryObjtypeFieldInfo = CommitSizesEntry
attrGet = getCommitSizesEntryObjtype
attrSet = setCommitSizesEntryObjtype
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.CommitSizesEntry.objtype"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.16/docs/GI-OSTree-Structs-CommitSizesEntry.html#g:attr:objtype"
})
commitSizesEntry_objtype :: AttrLabelProxy "objtype"
commitSizesEntry_objtype = AttrLabelProxy
#endif
getCommitSizesEntryUnpacked :: MonadIO m => CommitSizesEntry -> m Word64
getCommitSizesEntryUnpacked :: forall (m :: * -> *). MonadIO m => CommitSizesEntry -> m Word64
getCommitSizesEntryUnpacked CommitSizesEntry
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 CommitSizesEntry
s forall a b. (a -> b) -> a -> b
$ \Ptr CommitSizesEntry
ptr -> do
Word64
val <- forall a. Storable a => Ptr a -> IO a
peek (Ptr CommitSizesEntry
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) :: IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
val
setCommitSizesEntryUnpacked :: MonadIO m => CommitSizesEntry -> Word64 -> m ()
setCommitSizesEntryUnpacked :: forall (m :: * -> *).
MonadIO m =>
CommitSizesEntry -> Word64 -> m ()
setCommitSizesEntryUnpacked CommitSizesEntry
s Word64
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 CommitSizesEntry
s forall a b. (a -> b) -> a -> b
$ \Ptr CommitSizesEntry
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CommitSizesEntry
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (Word64
val :: Word64)
#if defined(ENABLE_OVERLOADING)
data CommitSizesEntryUnpackedFieldInfo
instance AttrInfo CommitSizesEntryUnpackedFieldInfo where
type AttrBaseTypeConstraint CommitSizesEntryUnpackedFieldInfo = (~) CommitSizesEntry
type AttrAllowedOps CommitSizesEntryUnpackedFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint CommitSizesEntryUnpackedFieldInfo = (~) Word64
type AttrTransferTypeConstraint CommitSizesEntryUnpackedFieldInfo = (~)Word64
type AttrTransferType CommitSizesEntryUnpackedFieldInfo = Word64
type AttrGetType CommitSizesEntryUnpackedFieldInfo = Word64
type AttrLabel CommitSizesEntryUnpackedFieldInfo = "unpacked"
type AttrOrigin CommitSizesEntryUnpackedFieldInfo = CommitSizesEntry
attrGet = getCommitSizesEntryUnpacked
attrSet = setCommitSizesEntryUnpacked
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.CommitSizesEntry.unpacked"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.16/docs/GI-OSTree-Structs-CommitSizesEntry.html#g:attr:unpacked"
})
commitSizesEntry_unpacked :: AttrLabelProxy "unpacked"
commitSizesEntry_unpacked = AttrLabelProxy
#endif
getCommitSizesEntryArchived :: MonadIO m => CommitSizesEntry -> m Word64
getCommitSizesEntryArchived :: forall (m :: * -> *). MonadIO m => CommitSizesEntry -> m Word64
getCommitSizesEntryArchived CommitSizesEntry
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 CommitSizesEntry
s forall a b. (a -> b) -> a -> b
$ \Ptr CommitSizesEntry
ptr -> do
Word64
val <- forall a. Storable a => Ptr a -> IO a
peek (Ptr CommitSizesEntry
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) :: IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
val
setCommitSizesEntryArchived :: MonadIO m => CommitSizesEntry -> Word64 -> m ()
setCommitSizesEntryArchived :: forall (m :: * -> *).
MonadIO m =>
CommitSizesEntry -> Word64 -> m ()
setCommitSizesEntryArchived CommitSizesEntry
s Word64
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 CommitSizesEntry
s forall a b. (a -> b) -> a -> b
$ \Ptr CommitSizesEntry
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CommitSizesEntry
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Word64
val :: Word64)
#if defined(ENABLE_OVERLOADING)
data CommitSizesEntryArchivedFieldInfo
instance AttrInfo CommitSizesEntryArchivedFieldInfo where
type AttrBaseTypeConstraint CommitSizesEntryArchivedFieldInfo = (~) CommitSizesEntry
type AttrAllowedOps CommitSizesEntryArchivedFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint CommitSizesEntryArchivedFieldInfo = (~) Word64
type AttrTransferTypeConstraint CommitSizesEntryArchivedFieldInfo = (~)Word64
type AttrTransferType CommitSizesEntryArchivedFieldInfo = Word64
type AttrGetType CommitSizesEntryArchivedFieldInfo = Word64
type AttrLabel CommitSizesEntryArchivedFieldInfo = "archived"
type AttrOrigin CommitSizesEntryArchivedFieldInfo = CommitSizesEntry
attrGet = getCommitSizesEntryArchived
attrSet = setCommitSizesEntryArchived
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.CommitSizesEntry.archived"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.16/docs/GI-OSTree-Structs-CommitSizesEntry.html#g:attr:archived"
})
commitSizesEntry_archived :: AttrLabelProxy "archived"
commitSizesEntry_archived = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList CommitSizesEntry
type instance O.AttributeList CommitSizesEntry = CommitSizesEntryAttributeList
type CommitSizesEntryAttributeList = ('[ '("checksum", CommitSizesEntryChecksumFieldInfo), '("objtype", CommitSizesEntryObjtypeFieldInfo), '("unpacked", CommitSizesEntryUnpackedFieldInfo), '("archived", CommitSizesEntryArchivedFieldInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "ostree_commit_sizes_entry_new" ostree_commit_sizes_entry_new ::
CString ->
CUInt ->
Word64 ->
Word64 ->
IO (Ptr CommitSizesEntry)
commitSizesEntryNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> OSTree.Enums.ObjectType
-> Word64
-> Word64
-> m (Maybe CommitSizesEntry)
commitSizesEntryNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text
-> ObjectType -> Word64 -> Word64 -> m (Maybe CommitSizesEntry)
commitSizesEntryNew Text
checksum ObjectType
objtype Word64
unpacked Word64
archived = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
CString
checksum' <- Text -> IO CString
textToCString Text
checksum
let objtype' :: CUInt
objtype' = (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) ObjectType
objtype
Ptr CommitSizesEntry
result <- CString -> CUInt -> Word64 -> Word64 -> IO (Ptr CommitSizesEntry)
ostree_commit_sizes_entry_new CString
checksum' CUInt
objtype' Word64
unpacked Word64
archived
Maybe CommitSizesEntry
maybeResult <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr CommitSizesEntry
result forall a b. (a -> b) -> a -> b
$ \Ptr CommitSizesEntry
result' -> do
CommitSizesEntry
result'' <- (forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr CommitSizesEntry -> CommitSizesEntry
CommitSizesEntry) Ptr CommitSizesEntry
result'
forall (m :: * -> *) a. Monad m => a -> m a
return CommitSizesEntry
result''
forall a. Ptr a -> IO ()
freeMem CString
checksum'
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe CommitSizesEntry
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "ostree_commit_sizes_entry_copy" ostree_commit_sizes_entry_copy ::
Ptr CommitSizesEntry ->
IO (Ptr CommitSizesEntry)
commitSizesEntryCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
CommitSizesEntry
-> m (Maybe CommitSizesEntry)
commitSizesEntryCopy :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CommitSizesEntry -> m (Maybe CommitSizesEntry)
commitSizesEntryCopy CommitSizesEntry
entry = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr CommitSizesEntry
entry' <- forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CommitSizesEntry
entry
Ptr CommitSizesEntry
result <- Ptr CommitSizesEntry -> IO (Ptr CommitSizesEntry)
ostree_commit_sizes_entry_copy Ptr CommitSizesEntry
entry'
Maybe CommitSizesEntry
maybeResult <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr CommitSizesEntry
result forall a b. (a -> b) -> a -> b
$ \Ptr CommitSizesEntry
result' -> do
CommitSizesEntry
result'' <- (forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr CommitSizesEntry -> CommitSizesEntry
CommitSizesEntry) Ptr CommitSizesEntry
result'
forall (m :: * -> *) a. Monad m => a -> m a
return CommitSizesEntry
result''
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CommitSizesEntry
entry
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe CommitSizesEntry
maybeResult
#if defined(ENABLE_OVERLOADING)
data CommitSizesEntryCopyMethodInfo
instance (signature ~ (m (Maybe CommitSizesEntry)), MonadIO m) => O.OverloadedMethod CommitSizesEntryCopyMethodInfo CommitSizesEntry signature where
overloadedMethod = commitSizesEntryCopy
instance O.OverloadedMethodInfo CommitSizesEntryCopyMethodInfo CommitSizesEntry where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.CommitSizesEntry.commitSizesEntryCopy",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.16/docs/GI-OSTree-Structs-CommitSizesEntry.html#v:commitSizesEntryCopy"
})
#endif
foreign import ccall "ostree_commit_sizes_entry_free" ostree_commit_sizes_entry_free ::
Ptr CommitSizesEntry ->
IO ()
commitSizesEntryFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
CommitSizesEntry
-> m ()
commitSizesEntryFree :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CommitSizesEntry -> m ()
commitSizesEntryFree CommitSizesEntry
entry = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr CommitSizesEntry
entry' <- forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed CommitSizesEntry
entry
Ptr CommitSizesEntry -> IO ()
ostree_commit_sizes_entry_free Ptr CommitSizesEntry
entry'
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CommitSizesEntry
entry
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CommitSizesEntryFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.OverloadedMethod CommitSizesEntryFreeMethodInfo CommitSizesEntry signature where
overloadedMethod = commitSizesEntryFree
instance O.OverloadedMethodInfo CommitSizesEntryFreeMethodInfo CommitSizesEntry where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.CommitSizesEntry.commitSizesEntryFree",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.16/docs/GI-OSTree-Structs-CommitSizesEntry.html#v:commitSizesEntryFree"
})
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveCommitSizesEntryMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveCommitSizesEntryMethod "copy" o = CommitSizesEntryCopyMethodInfo
ResolveCommitSizesEntryMethod "free" o = CommitSizesEntryFreeMethodInfo
ResolveCommitSizesEntryMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveCommitSizesEntryMethod t CommitSizesEntry, O.OverloadedMethod info CommitSizesEntry p) => OL.IsLabel t (CommitSizesEntry -> 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 ~ ResolveCommitSizesEntryMethod t CommitSizesEntry, O.OverloadedMethod info CommitSizesEntry p, R.HasField t CommitSizesEntry p) => R.HasField t CommitSizesEntry p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveCommitSizesEntryMethod t CommitSizesEntry, O.OverloadedMethodInfo info CommitSizesEntry) => OL.IsLabel t (O.MethodProxy info CommitSizesEntry) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif