{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- A list of statistics for each transaction that may be
-- interesting for reporting purposes.

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.OSTree.Structs.RepoTransactionStats
    ( 

-- * Exported types
    RepoTransactionStats(..)                ,
    newZeroRepoTransactionStats             ,


 -- * Methods

#if defined(ENABLE_OVERLOADING)
    ResolveRepoTransactionStatsMethod       ,
#endif



 -- * Properties


-- ** contentBytesWritten #attr:contentBytesWritten#
-- | The amount of data added to the repository,
-- in bytes, counting only content objects.

    getRepoTransactionStatsContentBytesWritten,
#if defined(ENABLE_OVERLOADING)
    repoTransactionStats_contentBytesWritten,
#endif
    setRepoTransactionStatsContentBytesWritten,


-- ** contentObjectsTotal #attr:contentObjectsTotal#
-- | The total number of content objects
-- in the repository after this transaction has completed.

    getRepoTransactionStatsContentObjectsTotal,
#if defined(ENABLE_OVERLOADING)
    repoTransactionStats_contentObjectsTotal,
#endif
    setRepoTransactionStatsContentObjectsTotal,


-- ** contentObjectsWritten #attr:contentObjectsWritten#
-- | The number of content objects that
-- were written to the repository in this transaction.

    getRepoTransactionStatsContentObjectsWritten,
#if defined(ENABLE_OVERLOADING)
    repoTransactionStats_contentObjectsWritten,
#endif
    setRepoTransactionStatsContentObjectsWritten,


-- ** devinoCacheHits #attr:devinoCacheHits#
-- | /No description available in the introspection data./

    getRepoTransactionStatsDevinoCacheHits  ,
#if defined(ENABLE_OVERLOADING)
    repoTransactionStats_devinoCacheHits    ,
#endif
    setRepoTransactionStatsDevinoCacheHits  ,


-- ** metadataObjectsTotal #attr:metadataObjectsTotal#
-- | The total number of metadata objects
-- in the repository after this transaction has completed.

    getRepoTransactionStatsMetadataObjectsTotal,
#if defined(ENABLE_OVERLOADING)
    repoTransactionStats_metadataObjectsTotal,
#endif
    setRepoTransactionStatsMetadataObjectsTotal,


-- ** metadataObjectsWritten #attr:metadataObjectsWritten#
-- | The number of metadata objects that
-- were written to the repository in this transaction.

    getRepoTransactionStatsMetadataObjectsWritten,
#if defined(ENABLE_OVERLOADING)
    repoTransactionStats_metadataObjectsWritten,
#endif
    setRepoTransactionStatsMetadataObjectsWritten,


-- ** padding1 #attr:padding1#
-- | reserved

    getRepoTransactionStatsPadding1         ,
#if defined(ENABLE_OVERLOADING)
    repoTransactionStats_padding1           ,
#endif
    setRepoTransactionStatsPadding1         ,


-- ** padding2 #attr:padding2#
-- | reserved

    getRepoTransactionStatsPadding2         ,
#if defined(ENABLE_OVERLOADING)
    repoTransactionStats_padding2           ,
#endif
    setRepoTransactionStatsPadding2         ,


-- ** padding3 #attr:padding3#
-- | reserved

    getRepoTransactionStatsPadding3         ,
#if defined(ENABLE_OVERLOADING)
    repoTransactionStats_padding3           ,
#endif
    setRepoTransactionStatsPadding3         ,


-- ** padding4 #attr:padding4#
-- | reserved

    getRepoTransactionStatsPadding4         ,
#if defined(ENABLE_OVERLOADING)
    repoTransactionStats_padding4           ,
#endif
    setRepoTransactionStatsPadding4         ,




    ) 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


-- | Memory-managed wrapper type.
newtype RepoTransactionStats = RepoTransactionStats (SP.ManagedPtr RepoTransactionStats)
    deriving (RepoTransactionStats -> RepoTransactionStats -> Bool
(RepoTransactionStats -> RepoTransactionStats -> Bool)
-> (RepoTransactionStats -> RepoTransactionStats -> Bool)
-> Eq RepoTransactionStats
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RepoTransactionStats -> RepoTransactionStats -> Bool
== :: RepoTransactionStats -> RepoTransactionStats -> Bool
$c/= :: RepoTransactionStats -> RepoTransactionStats -> Bool
/= :: RepoTransactionStats -> RepoTransactionStats -> Bool
Eq)

instance SP.ManagedPtrNewtype RepoTransactionStats where
    toManagedPtr :: RepoTransactionStats -> ManagedPtr RepoTransactionStats
toManagedPtr (RepoTransactionStats ManagedPtr RepoTransactionStats
p) = ManagedPtr RepoTransactionStats
p

foreign import ccall "ostree_repo_transaction_stats_get_type" c_ostree_repo_transaction_stats_get_type :: 
    IO GType

type instance O.ParentTypes RepoTransactionStats = '[]
instance O.HasParentTypes RepoTransactionStats

instance B.Types.TypedObject RepoTransactionStats where
    glibType :: IO GType
glibType = IO GType
c_ostree_repo_transaction_stats_get_type

instance B.Types.GBoxed RepoTransactionStats

-- | Convert 'RepoTransactionStats' to and from 'Data.GI.Base.GValue.GValue'. See 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue (Maybe RepoTransactionStats) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ostree_repo_transaction_stats_get_type
    gvalueSet_ :: Ptr GValue -> Maybe RepoTransactionStats -> IO ()
gvalueSet_ Ptr GValue
gv Maybe RepoTransactionStats
P.Nothing = Ptr GValue -> Ptr RepoTransactionStats -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv (Ptr RepoTransactionStats
forall a. Ptr a
FP.nullPtr :: FP.Ptr RepoTransactionStats)
    gvalueSet_ Ptr GValue
gv (P.Just RepoTransactionStats
obj) = RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr RepoTransactionStats
obj (Ptr GValue -> Ptr RepoTransactionStats -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe RepoTransactionStats)
gvalueGet_ Ptr GValue
gv = do
        Ptr RepoTransactionStats
ptr <- Ptr GValue -> IO (Ptr RepoTransactionStats)
forall b. Ptr GValue -> IO (Ptr b)
B.GValue.get_boxed Ptr GValue
gv :: IO (Ptr RepoTransactionStats)
        if Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Ptr RepoTransactionStats -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr RepoTransactionStats
forall a. Ptr a
FP.nullPtr
        then RepoTransactionStats -> Maybe RepoTransactionStats
forall a. a -> Maybe a
P.Just (RepoTransactionStats -> Maybe RepoTransactionStats)
-> IO RepoTransactionStats -> IO (Maybe RepoTransactionStats)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr RepoTransactionStats -> RepoTransactionStats)
-> Ptr RepoTransactionStats -> IO RepoTransactionStats
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr RepoTransactionStats -> RepoTransactionStats
RepoTransactionStats Ptr RepoTransactionStats
ptr
        else Maybe RepoTransactionStats -> IO (Maybe RepoTransactionStats)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe RepoTransactionStats
forall a. Maybe a
P.Nothing
        
    

-- | Construct a `RepoTransactionStats` struct initialized to zero.
newZeroRepoTransactionStats :: MonadIO m => m RepoTransactionStats
newZeroRepoTransactionStats :: forall (m :: * -> *). MonadIO m => m RepoTransactionStats
newZeroRepoTransactionStats = IO RepoTransactionStats -> m RepoTransactionStats
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO RepoTransactionStats -> m RepoTransactionStats)
-> IO RepoTransactionStats -> m RepoTransactionStats
forall a b. (a -> b) -> a -> b
$ Int -> IO (Ptr RepoTransactionStats)
forall a. GBoxed a => Int -> IO (Ptr a)
callocBoxedBytes Int
56 IO (Ptr RepoTransactionStats)
-> (Ptr RepoTransactionStats -> IO RepoTransactionStats)
-> IO RepoTransactionStats
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr RepoTransactionStats -> RepoTransactionStats)
-> Ptr RepoTransactionStats -> IO RepoTransactionStats
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr RepoTransactionStats -> RepoTransactionStats
RepoTransactionStats

instance tag ~ 'AttrSet => Constructible RepoTransactionStats tag where
    new :: forall (m :: * -> *).
MonadIO m =>
(ManagedPtr RepoTransactionStats -> RepoTransactionStats)
-> [AttrOp RepoTransactionStats tag] -> m RepoTransactionStats
new ManagedPtr RepoTransactionStats -> RepoTransactionStats
_ [AttrOp RepoTransactionStats tag]
attrs = do
        RepoTransactionStats
o <- m RepoTransactionStats
forall (m :: * -> *). MonadIO m => m RepoTransactionStats
newZeroRepoTransactionStats
        RepoTransactionStats
-> [AttrOp RepoTransactionStats 'AttrSet] -> m ()
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set RepoTransactionStats
o [AttrOp RepoTransactionStats tag]
[AttrOp RepoTransactionStats 'AttrSet]
attrs
        RepoTransactionStats -> m RepoTransactionStats
forall a. a -> m a
forall (m :: * -> *) a. Monad m => a -> m a
return RepoTransactionStats
o


-- | Get the value of the “@metadata_objects_total@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' repoTransactionStats #metadataObjectsTotal
-- @
getRepoTransactionStatsMetadataObjectsTotal :: MonadIO m => RepoTransactionStats -> m Word32
getRepoTransactionStatsMetadataObjectsTotal :: forall (m :: * -> *). MonadIO m => RepoTransactionStats -> m Word32
getRepoTransactionStatsMetadataObjectsTotal RepoTransactionStats
s = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO Word32) -> IO Word32)
-> (Ptr RepoTransactionStats -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) :: IO Word32
    Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val

-- | Set the value of the “@metadata_objects_total@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' repoTransactionStats [ #metadataObjectsTotal 'Data.GI.Base.Attributes.:=' value ]
-- @
setRepoTransactionStatsMetadataObjectsTotal :: MonadIO m => RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsMetadataObjectsTotal :: forall (m :: * -> *).
MonadIO m =>
RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsMetadataObjectsTotal RepoTransactionStats
s Word32
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
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO ()) -> IO ())
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (Word32
val :: Word32)

#if defined(ENABLE_OVERLOADING)
data RepoTransactionStatsMetadataObjectsTotalFieldInfo
instance AttrInfo RepoTransactionStatsMetadataObjectsTotalFieldInfo where
    type AttrBaseTypeConstraint RepoTransactionStatsMetadataObjectsTotalFieldInfo = (~) RepoTransactionStats
    type AttrAllowedOps RepoTransactionStatsMetadataObjectsTotalFieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsMetadataObjectsTotalFieldInfo = (~) Word32
    type AttrTransferTypeConstraint RepoTransactionStatsMetadataObjectsTotalFieldInfo = (~)Word32
    type AttrTransferType RepoTransactionStatsMetadataObjectsTotalFieldInfo = Word32
    type AttrGetType RepoTransactionStatsMetadataObjectsTotalFieldInfo = Word32
    type AttrLabel RepoTransactionStatsMetadataObjectsTotalFieldInfo = "metadata_objects_total"
    type AttrOrigin RepoTransactionStatsMetadataObjectsTotalFieldInfo = RepoTransactionStats
    attrGet = getRepoTransactionStatsMetadataObjectsTotal
    attrSet = setRepoTransactionStatsMetadataObjectsTotal
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.OSTree.Structs.RepoTransactionStats.metadataObjectsTotal"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.18/docs/GI-OSTree-Structs-RepoTransactionStats.html#g:attr:metadataObjectsTotal"
        })

repoTransactionStats_metadataObjectsTotal :: AttrLabelProxy "metadataObjectsTotal"
repoTransactionStats_metadataObjectsTotal = AttrLabelProxy

#endif


-- | Get the value of the “@metadata_objects_written@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' repoTransactionStats #metadataObjectsWritten
-- @
getRepoTransactionStatsMetadataObjectsWritten :: MonadIO m => RepoTransactionStats -> m Word32
getRepoTransactionStatsMetadataObjectsWritten :: forall (m :: * -> *). MonadIO m => RepoTransactionStats -> m Word32
getRepoTransactionStatsMetadataObjectsWritten RepoTransactionStats
s = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO Word32) -> IO Word32)
-> (Ptr RepoTransactionStats -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4) :: IO Word32
    Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val

-- | Set the value of the “@metadata_objects_written@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' repoTransactionStats [ #metadataObjectsWritten 'Data.GI.Base.Attributes.:=' value ]
-- @
setRepoTransactionStatsMetadataObjectsWritten :: MonadIO m => RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsMetadataObjectsWritten :: forall (m :: * -> *).
MonadIO m =>
RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsMetadataObjectsWritten RepoTransactionStats
s Word32
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
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO ()) -> IO ())
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4) (Word32
val :: Word32)

#if defined(ENABLE_OVERLOADING)
data RepoTransactionStatsMetadataObjectsWrittenFieldInfo
instance AttrInfo RepoTransactionStatsMetadataObjectsWrittenFieldInfo where
    type AttrBaseTypeConstraint RepoTransactionStatsMetadataObjectsWrittenFieldInfo = (~) RepoTransactionStats
    type AttrAllowedOps RepoTransactionStatsMetadataObjectsWrittenFieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsMetadataObjectsWrittenFieldInfo = (~) Word32
    type AttrTransferTypeConstraint RepoTransactionStatsMetadataObjectsWrittenFieldInfo = (~)Word32
    type AttrTransferType RepoTransactionStatsMetadataObjectsWrittenFieldInfo = Word32
    type AttrGetType RepoTransactionStatsMetadataObjectsWrittenFieldInfo = Word32
    type AttrLabel RepoTransactionStatsMetadataObjectsWrittenFieldInfo = "metadata_objects_written"
    type AttrOrigin RepoTransactionStatsMetadataObjectsWrittenFieldInfo = RepoTransactionStats
    attrGet = getRepoTransactionStatsMetadataObjectsWritten
    attrSet = setRepoTransactionStatsMetadataObjectsWritten
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.OSTree.Structs.RepoTransactionStats.metadataObjectsWritten"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.18/docs/GI-OSTree-Structs-RepoTransactionStats.html#g:attr:metadataObjectsWritten"
        })

repoTransactionStats_metadataObjectsWritten :: AttrLabelProxy "metadataObjectsWritten"
repoTransactionStats_metadataObjectsWritten = AttrLabelProxy

#endif


-- | Get the value of the “@content_objects_total@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' repoTransactionStats #contentObjectsTotal
-- @
getRepoTransactionStatsContentObjectsTotal :: MonadIO m => RepoTransactionStats -> m Word32
getRepoTransactionStatsContentObjectsTotal :: forall (m :: * -> *). MonadIO m => RepoTransactionStats -> m Word32
getRepoTransactionStatsContentObjectsTotal RepoTransactionStats
s = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO Word32) -> IO Word32)
-> (Ptr RepoTransactionStats -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) :: IO Word32
    Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val

-- | Set the value of the “@content_objects_total@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' repoTransactionStats [ #contentObjectsTotal 'Data.GI.Base.Attributes.:=' value ]
-- @
setRepoTransactionStatsContentObjectsTotal :: MonadIO m => RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsContentObjectsTotal :: forall (m :: * -> *).
MonadIO m =>
RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsContentObjectsTotal RepoTransactionStats
s Word32
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
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO ()) -> IO ())
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (Word32
val :: Word32)

#if defined(ENABLE_OVERLOADING)
data RepoTransactionStatsContentObjectsTotalFieldInfo
instance AttrInfo RepoTransactionStatsContentObjectsTotalFieldInfo where
    type AttrBaseTypeConstraint RepoTransactionStatsContentObjectsTotalFieldInfo = (~) RepoTransactionStats
    type AttrAllowedOps RepoTransactionStatsContentObjectsTotalFieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsContentObjectsTotalFieldInfo = (~) Word32
    type AttrTransferTypeConstraint RepoTransactionStatsContentObjectsTotalFieldInfo = (~)Word32
    type AttrTransferType RepoTransactionStatsContentObjectsTotalFieldInfo = Word32
    type AttrGetType RepoTransactionStatsContentObjectsTotalFieldInfo = Word32
    type AttrLabel RepoTransactionStatsContentObjectsTotalFieldInfo = "content_objects_total"
    type AttrOrigin RepoTransactionStatsContentObjectsTotalFieldInfo = RepoTransactionStats
    attrGet = getRepoTransactionStatsContentObjectsTotal
    attrSet = setRepoTransactionStatsContentObjectsTotal
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.OSTree.Structs.RepoTransactionStats.contentObjectsTotal"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.18/docs/GI-OSTree-Structs-RepoTransactionStats.html#g:attr:contentObjectsTotal"
        })

repoTransactionStats_contentObjectsTotal :: AttrLabelProxy "contentObjectsTotal"
repoTransactionStats_contentObjectsTotal = AttrLabelProxy

#endif


-- | Get the value of the “@content_objects_written@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' repoTransactionStats #contentObjectsWritten
-- @
getRepoTransactionStatsContentObjectsWritten :: MonadIO m => RepoTransactionStats -> m Word32
getRepoTransactionStatsContentObjectsWritten :: forall (m :: * -> *). MonadIO m => RepoTransactionStats -> m Word32
getRepoTransactionStatsContentObjectsWritten RepoTransactionStats
s = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO Word32) -> IO Word32)
-> (Ptr RepoTransactionStats -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
12) :: IO Word32
    Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val

-- | Set the value of the “@content_objects_written@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' repoTransactionStats [ #contentObjectsWritten 'Data.GI.Base.Attributes.:=' value ]
-- @
setRepoTransactionStatsContentObjectsWritten :: MonadIO m => RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsContentObjectsWritten :: forall (m :: * -> *).
MonadIO m =>
RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsContentObjectsWritten RepoTransactionStats
s Word32
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
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO ()) -> IO ())
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
12) (Word32
val :: Word32)

#if defined(ENABLE_OVERLOADING)
data RepoTransactionStatsContentObjectsWrittenFieldInfo
instance AttrInfo RepoTransactionStatsContentObjectsWrittenFieldInfo where
    type AttrBaseTypeConstraint RepoTransactionStatsContentObjectsWrittenFieldInfo = (~) RepoTransactionStats
    type AttrAllowedOps RepoTransactionStatsContentObjectsWrittenFieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsContentObjectsWrittenFieldInfo = (~) Word32
    type AttrTransferTypeConstraint RepoTransactionStatsContentObjectsWrittenFieldInfo = (~)Word32
    type AttrTransferType RepoTransactionStatsContentObjectsWrittenFieldInfo = Word32
    type AttrGetType RepoTransactionStatsContentObjectsWrittenFieldInfo = Word32
    type AttrLabel RepoTransactionStatsContentObjectsWrittenFieldInfo = "content_objects_written"
    type AttrOrigin RepoTransactionStatsContentObjectsWrittenFieldInfo = RepoTransactionStats
    attrGet = getRepoTransactionStatsContentObjectsWritten
    attrSet = setRepoTransactionStatsContentObjectsWritten
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.OSTree.Structs.RepoTransactionStats.contentObjectsWritten"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.18/docs/GI-OSTree-Structs-RepoTransactionStats.html#g:attr:contentObjectsWritten"
        })

repoTransactionStats_contentObjectsWritten :: AttrLabelProxy "contentObjectsWritten"
repoTransactionStats_contentObjectsWritten = AttrLabelProxy

#endif


-- | Get the value of the “@content_bytes_written@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' repoTransactionStats #contentBytesWritten
-- @
getRepoTransactionStatsContentBytesWritten :: MonadIO m => RepoTransactionStats -> m Word64
getRepoTransactionStatsContentBytesWritten :: forall (m :: * -> *). MonadIO m => RepoTransactionStats -> m Word64
getRepoTransactionStatsContentBytesWritten RepoTransactionStats
s = IO Word64 -> m Word64
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO Word64) -> IO Word64
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO Word64) -> IO Word64)
-> (Ptr RepoTransactionStats -> IO Word64) -> IO Word64
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Word64
val <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) :: IO Word64
    Word64 -> IO Word64
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
val

-- | Set the value of the “@content_bytes_written@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' repoTransactionStats [ #contentBytesWritten 'Data.GI.Base.Attributes.:=' value ]
-- @
setRepoTransactionStatsContentBytesWritten :: MonadIO m => RepoTransactionStats -> Word64 -> m ()
setRepoTransactionStatsContentBytesWritten :: forall (m :: * -> *).
MonadIO m =>
RepoTransactionStats -> Word64 -> m ()
setRepoTransactionStatsContentBytesWritten RepoTransactionStats
s Word64
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
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO ()) -> IO ())
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Word64
val :: Word64)

#if defined(ENABLE_OVERLOADING)
data RepoTransactionStatsContentBytesWrittenFieldInfo
instance AttrInfo RepoTransactionStatsContentBytesWrittenFieldInfo where
    type AttrBaseTypeConstraint RepoTransactionStatsContentBytesWrittenFieldInfo = (~) RepoTransactionStats
    type AttrAllowedOps RepoTransactionStatsContentBytesWrittenFieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsContentBytesWrittenFieldInfo = (~) Word64
    type AttrTransferTypeConstraint RepoTransactionStatsContentBytesWrittenFieldInfo = (~)Word64
    type AttrTransferType RepoTransactionStatsContentBytesWrittenFieldInfo = Word64
    type AttrGetType RepoTransactionStatsContentBytesWrittenFieldInfo = Word64
    type AttrLabel RepoTransactionStatsContentBytesWrittenFieldInfo = "content_bytes_written"
    type AttrOrigin RepoTransactionStatsContentBytesWrittenFieldInfo = RepoTransactionStats
    attrGet = getRepoTransactionStatsContentBytesWritten
    attrSet = setRepoTransactionStatsContentBytesWritten
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.OSTree.Structs.RepoTransactionStats.contentBytesWritten"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.18/docs/GI-OSTree-Structs-RepoTransactionStats.html#g:attr:contentBytesWritten"
        })

repoTransactionStats_contentBytesWritten :: AttrLabelProxy "contentBytesWritten"
repoTransactionStats_contentBytesWritten = AttrLabelProxy

#endif


-- | Get the value of the “@devino_cache_hits@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' repoTransactionStats #devinoCacheHits
-- @
getRepoTransactionStatsDevinoCacheHits :: MonadIO m => RepoTransactionStats -> m Word32
getRepoTransactionStatsDevinoCacheHits :: forall (m :: * -> *). MonadIO m => RepoTransactionStats -> m Word32
getRepoTransactionStatsDevinoCacheHits RepoTransactionStats
s = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO Word32) -> IO Word32)
-> (Ptr RepoTransactionStats -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) :: IO Word32
    Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val

-- | Set the value of the “@devino_cache_hits@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' repoTransactionStats [ #devinoCacheHits 'Data.GI.Base.Attributes.:=' value ]
-- @
setRepoTransactionStatsDevinoCacheHits :: MonadIO m => RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsDevinoCacheHits :: forall (m :: * -> *).
MonadIO m =>
RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsDevinoCacheHits RepoTransactionStats
s Word32
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
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO ()) -> IO ())
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) (Word32
val :: Word32)

#if defined(ENABLE_OVERLOADING)
data RepoTransactionStatsDevinoCacheHitsFieldInfo
instance AttrInfo RepoTransactionStatsDevinoCacheHitsFieldInfo where
    type AttrBaseTypeConstraint RepoTransactionStatsDevinoCacheHitsFieldInfo = (~) RepoTransactionStats
    type AttrAllowedOps RepoTransactionStatsDevinoCacheHitsFieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsDevinoCacheHitsFieldInfo = (~) Word32
    type AttrTransferTypeConstraint RepoTransactionStatsDevinoCacheHitsFieldInfo = (~)Word32
    type AttrTransferType RepoTransactionStatsDevinoCacheHitsFieldInfo = Word32
    type AttrGetType RepoTransactionStatsDevinoCacheHitsFieldInfo = Word32
    type AttrLabel RepoTransactionStatsDevinoCacheHitsFieldInfo = "devino_cache_hits"
    type AttrOrigin RepoTransactionStatsDevinoCacheHitsFieldInfo = RepoTransactionStats
    attrGet = getRepoTransactionStatsDevinoCacheHits
    attrSet = setRepoTransactionStatsDevinoCacheHits
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.OSTree.Structs.RepoTransactionStats.devinoCacheHits"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.18/docs/GI-OSTree-Structs-RepoTransactionStats.html#g:attr:devinoCacheHits"
        })

repoTransactionStats_devinoCacheHits :: AttrLabelProxy "devinoCacheHits"
repoTransactionStats_devinoCacheHits = AttrLabelProxy

#endif


-- | Get the value of the “@padding1@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' repoTransactionStats #padding1
-- @
getRepoTransactionStatsPadding1 :: MonadIO m => RepoTransactionStats -> m Word32
getRepoTransactionStatsPadding1 :: forall (m :: * -> *). MonadIO m => RepoTransactionStats -> m Word32
getRepoTransactionStatsPadding1 RepoTransactionStats
s = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO Word32) -> IO Word32)
-> (Ptr RepoTransactionStats -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28) :: IO Word32
    Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val

-- | Set the value of the “@padding1@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' repoTransactionStats [ #padding1 'Data.GI.Base.Attributes.:=' value ]
-- @
setRepoTransactionStatsPadding1 :: MonadIO m => RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsPadding1 :: forall (m :: * -> *).
MonadIO m =>
RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsPadding1 RepoTransactionStats
s Word32
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
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO ()) -> IO ())
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28) (Word32
val :: Word32)

#if defined(ENABLE_OVERLOADING)
data RepoTransactionStatsPadding1FieldInfo
instance AttrInfo RepoTransactionStatsPadding1FieldInfo where
    type AttrBaseTypeConstraint RepoTransactionStatsPadding1FieldInfo = (~) RepoTransactionStats
    type AttrAllowedOps RepoTransactionStatsPadding1FieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsPadding1FieldInfo = (~) Word32
    type AttrTransferTypeConstraint RepoTransactionStatsPadding1FieldInfo = (~)Word32
    type AttrTransferType RepoTransactionStatsPadding1FieldInfo = Word32
    type AttrGetType RepoTransactionStatsPadding1FieldInfo = Word32
    type AttrLabel RepoTransactionStatsPadding1FieldInfo = "padding1"
    type AttrOrigin RepoTransactionStatsPadding1FieldInfo = RepoTransactionStats
    attrGet = getRepoTransactionStatsPadding1
    attrSet = setRepoTransactionStatsPadding1
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.OSTree.Structs.RepoTransactionStats.padding1"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.18/docs/GI-OSTree-Structs-RepoTransactionStats.html#g:attr:padding1"
        })

repoTransactionStats_padding1 :: AttrLabelProxy "padding1"
repoTransactionStats_padding1 = AttrLabelProxy

#endif


-- | Get the value of the “@padding2@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' repoTransactionStats #padding2
-- @
getRepoTransactionStatsPadding2 :: MonadIO m => RepoTransactionStats -> m Word64
getRepoTransactionStatsPadding2 :: forall (m :: * -> *). MonadIO m => RepoTransactionStats -> m Word64
getRepoTransactionStatsPadding2 RepoTransactionStats
s = IO Word64 -> m Word64
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO Word64) -> IO Word64
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO Word64) -> IO Word64)
-> (Ptr RepoTransactionStats -> IO Word64) -> IO Word64
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Word64
val <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) :: IO Word64
    Word64 -> IO Word64
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
val

-- | Set the value of the “@padding2@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' repoTransactionStats [ #padding2 'Data.GI.Base.Attributes.:=' value ]
-- @
setRepoTransactionStatsPadding2 :: MonadIO m => RepoTransactionStats -> Word64 -> m ()
setRepoTransactionStatsPadding2 :: forall (m :: * -> *).
MonadIO m =>
RepoTransactionStats -> Word64 -> m ()
setRepoTransactionStatsPadding2 RepoTransactionStats
s Word64
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
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO ()) -> IO ())
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) (Word64
val :: Word64)

#if defined(ENABLE_OVERLOADING)
data RepoTransactionStatsPadding2FieldInfo
instance AttrInfo RepoTransactionStatsPadding2FieldInfo where
    type AttrBaseTypeConstraint RepoTransactionStatsPadding2FieldInfo = (~) RepoTransactionStats
    type AttrAllowedOps RepoTransactionStatsPadding2FieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsPadding2FieldInfo = (~) Word64
    type AttrTransferTypeConstraint RepoTransactionStatsPadding2FieldInfo = (~)Word64
    type AttrTransferType RepoTransactionStatsPadding2FieldInfo = Word64
    type AttrGetType RepoTransactionStatsPadding2FieldInfo = Word64
    type AttrLabel RepoTransactionStatsPadding2FieldInfo = "padding2"
    type AttrOrigin RepoTransactionStatsPadding2FieldInfo = RepoTransactionStats
    attrGet = getRepoTransactionStatsPadding2
    attrSet = setRepoTransactionStatsPadding2
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.OSTree.Structs.RepoTransactionStats.padding2"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.18/docs/GI-OSTree-Structs-RepoTransactionStats.html#g:attr:padding2"
        })

repoTransactionStats_padding2 :: AttrLabelProxy "padding2"
repoTransactionStats_padding2 = AttrLabelProxy

#endif


-- | Get the value of the “@padding3@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' repoTransactionStats #padding3
-- @
getRepoTransactionStatsPadding3 :: MonadIO m => RepoTransactionStats -> m Word64
getRepoTransactionStatsPadding3 :: forall (m :: * -> *). MonadIO m => RepoTransactionStats -> m Word64
getRepoTransactionStatsPadding3 RepoTransactionStats
s = IO Word64 -> m Word64
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO Word64) -> IO Word64
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO Word64) -> IO Word64)
-> (Ptr RepoTransactionStats -> IO Word64) -> IO Word64
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Word64
val <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40) :: IO Word64
    Word64 -> IO Word64
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
val

-- | Set the value of the “@padding3@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' repoTransactionStats [ #padding3 'Data.GI.Base.Attributes.:=' value ]
-- @
setRepoTransactionStatsPadding3 :: MonadIO m => RepoTransactionStats -> Word64 -> m ()
setRepoTransactionStatsPadding3 :: forall (m :: * -> *).
MonadIO m =>
RepoTransactionStats -> Word64 -> m ()
setRepoTransactionStatsPadding3 RepoTransactionStats
s Word64
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
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO ()) -> IO ())
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40) (Word64
val :: Word64)

#if defined(ENABLE_OVERLOADING)
data RepoTransactionStatsPadding3FieldInfo
instance AttrInfo RepoTransactionStatsPadding3FieldInfo where
    type AttrBaseTypeConstraint RepoTransactionStatsPadding3FieldInfo = (~) RepoTransactionStats
    type AttrAllowedOps RepoTransactionStatsPadding3FieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsPadding3FieldInfo = (~) Word64
    type AttrTransferTypeConstraint RepoTransactionStatsPadding3FieldInfo = (~)Word64
    type AttrTransferType RepoTransactionStatsPadding3FieldInfo = Word64
    type AttrGetType RepoTransactionStatsPadding3FieldInfo = Word64
    type AttrLabel RepoTransactionStatsPadding3FieldInfo = "padding3"
    type AttrOrigin RepoTransactionStatsPadding3FieldInfo = RepoTransactionStats
    attrGet = getRepoTransactionStatsPadding3
    attrSet = setRepoTransactionStatsPadding3
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.OSTree.Structs.RepoTransactionStats.padding3"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.18/docs/GI-OSTree-Structs-RepoTransactionStats.html#g:attr:padding3"
        })

repoTransactionStats_padding3 :: AttrLabelProxy "padding3"
repoTransactionStats_padding3 = AttrLabelProxy

#endif


-- | Get the value of the “@padding4@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' repoTransactionStats #padding4
-- @
getRepoTransactionStatsPadding4 :: MonadIO m => RepoTransactionStats -> m Word64
getRepoTransactionStatsPadding4 :: forall (m :: * -> *). MonadIO m => RepoTransactionStats -> m Word64
getRepoTransactionStatsPadding4 RepoTransactionStats
s = IO Word64 -> m Word64
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO Word64) -> IO Word64
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO Word64) -> IO Word64)
-> (Ptr RepoTransactionStats -> IO Word64) -> IO Word64
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Word64
val <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48) :: IO Word64
    Word64 -> IO Word64
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
val

-- | Set the value of the “@padding4@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' repoTransactionStats [ #padding4 'Data.GI.Base.Attributes.:=' value ]
-- @
setRepoTransactionStatsPadding4 :: MonadIO m => RepoTransactionStats -> Word64 -> m ()
setRepoTransactionStatsPadding4 :: forall (m :: * -> *).
MonadIO m =>
RepoTransactionStats -> Word64 -> m ()
setRepoTransactionStatsPadding4 RepoTransactionStats
s Word64
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
$ RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr RepoTransactionStats
s ((Ptr RepoTransactionStats -> IO ()) -> IO ())
-> (Ptr RepoTransactionStats -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RepoTransactionStats
ptr -> do
    Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr RepoTransactionStats
ptr Ptr RepoTransactionStats -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48) (Word64
val :: Word64)

#if defined(ENABLE_OVERLOADING)
data RepoTransactionStatsPadding4FieldInfo
instance AttrInfo RepoTransactionStatsPadding4FieldInfo where
    type AttrBaseTypeConstraint RepoTransactionStatsPadding4FieldInfo = (~) RepoTransactionStats
    type AttrAllowedOps RepoTransactionStatsPadding4FieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsPadding4FieldInfo = (~) Word64
    type AttrTransferTypeConstraint RepoTransactionStatsPadding4FieldInfo = (~)Word64
    type AttrTransferType RepoTransactionStatsPadding4FieldInfo = Word64
    type AttrGetType RepoTransactionStatsPadding4FieldInfo = Word64
    type AttrLabel RepoTransactionStatsPadding4FieldInfo = "padding4"
    type AttrOrigin RepoTransactionStatsPadding4FieldInfo = RepoTransactionStats
    attrGet = getRepoTransactionStatsPadding4
    attrSet = setRepoTransactionStatsPadding4
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.OSTree.Structs.RepoTransactionStats.padding4"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.18/docs/GI-OSTree-Structs-RepoTransactionStats.html#g:attr:padding4"
        })

repoTransactionStats_padding4 :: AttrLabelProxy "padding4"
repoTransactionStats_padding4 = AttrLabelProxy

#endif



#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList RepoTransactionStats
type instance O.AttributeList RepoTransactionStats = RepoTransactionStatsAttributeList
type RepoTransactionStatsAttributeList = ('[ '("metadataObjectsTotal", RepoTransactionStatsMetadataObjectsTotalFieldInfo), '("metadataObjectsWritten", RepoTransactionStatsMetadataObjectsWrittenFieldInfo), '("contentObjectsTotal", RepoTransactionStatsContentObjectsTotalFieldInfo), '("contentObjectsWritten", RepoTransactionStatsContentObjectsWrittenFieldInfo), '("contentBytesWritten", RepoTransactionStatsContentBytesWrittenFieldInfo), '("devinoCacheHits", RepoTransactionStatsDevinoCacheHitsFieldInfo), '("padding1", RepoTransactionStatsPadding1FieldInfo), '("padding2", RepoTransactionStatsPadding2FieldInfo), '("padding3", RepoTransactionStatsPadding3FieldInfo), '("padding4", RepoTransactionStatsPadding4FieldInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
type family ResolveRepoTransactionStatsMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
    ResolveRepoTransactionStatsMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveRepoTransactionStatsMethod t RepoTransactionStats, O.OverloadedMethod info RepoTransactionStats p) => OL.IsLabel t (RepoTransactionStats -> 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 ~ ResolveRepoTransactionStatsMethod t RepoTransactionStats, O.OverloadedMethod info RepoTransactionStats p, R.HasField t RepoTransactionStats p) => R.HasField t RepoTransactionStats p where
    getField = O.overloadedMethod @info

#endif

instance (info ~ ResolveRepoTransactionStatsMethod t RepoTransactionStats, O.OverloadedMethodInfo info RepoTransactionStats) => OL.IsLabel t (O.MethodProxy info RepoTransactionStats) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.MethodProxy
#else
    fromLabel _ = O.MethodProxy
#endif

#endif