{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- 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             ,
    noRepoTransactionStats                  ,


 -- * Methods
-- ** Overloaded methods #method:Overloaded 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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
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 Data.Text as T
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


-- | Memory-managed wrapper type.
newtype RepoTransactionStats = RepoTransactionStats (ManagedPtr RepoTransactionStats)
    deriving (RepoTransactionStats -> RepoTransactionStats -> Bool
(RepoTransactionStats -> RepoTransactionStats -> Bool)
-> (RepoTransactionStats -> RepoTransactionStats -> Bool)
-> Eq RepoTransactionStats
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RepoTransactionStats -> RepoTransactionStats -> Bool
$c/= :: RepoTransactionStats -> RepoTransactionStats -> Bool
== :: RepoTransactionStats -> RepoTransactionStats -> Bool
$c== :: RepoTransactionStats -> RepoTransactionStats -> Bool
Eq)
foreign import ccall "ostree_repo_transaction_stats_get_type" c_ostree_repo_transaction_stats_get_type :: 
    IO GType

instance BoxedObject RepoTransactionStats where
    boxedType :: RepoTransactionStats -> IO GType
boxedType _ = IO GType
c_ostree_repo_transaction_stats_get_type

-- | Convert 'RepoTransactionStats' to and from 'Data.GI.Base.GValue.GValue' with 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue RepoTransactionStats where
    toGValue :: RepoTransactionStats -> IO GValue
toGValue o :: RepoTransactionStats
o = do
        GType
gtype <- IO GType
c_ostree_repo_transaction_stats_get_type
        RepoTransactionStats
-> (Ptr RepoTransactionStats -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr RepoTransactionStats
o (GType
-> (GValue -> Ptr RepoTransactionStats -> IO ())
-> Ptr RepoTransactionStats
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr RepoTransactionStats -> IO ()
forall a. GValue -> Ptr a -> IO ()
B.GValue.set_boxed)
        
    fromGValue :: GValue -> IO RepoTransactionStats
fromGValue gv :: GValue
gv = do
        Ptr RepoTransactionStats
ptr <- GValue -> IO (Ptr RepoTransactionStats)
forall b. GValue -> IO (Ptr b)
B.GValue.get_boxed GValue
gv :: IO (Ptr RepoTransactionStats)
        (ManagedPtr RepoTransactionStats -> RepoTransactionStats)
-> Ptr RepoTransactionStats -> IO RepoTransactionStats
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr RepoTransactionStats -> RepoTransactionStats
RepoTransactionStats Ptr RepoTransactionStats
ptr
        
    

-- | Construct a `RepoTransactionStats` struct initialized to zero.
newZeroRepoTransactionStats :: MonadIO m => m RepoTransactionStats
newZeroRepoTransactionStats :: m RepoTransactionStats
newZeroRepoTransactionStats = IO RepoTransactionStats -> m RepoTransactionStats
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. BoxedObject a => Int -> IO (Ptr a)
callocBoxedBytes 56 IO (Ptr RepoTransactionStats)
-> (Ptr RepoTransactionStats -> IO RepoTransactionStats)
-> IO RepoTransactionStats
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr RepoTransactionStats -> RepoTransactionStats)
-> Ptr RepoTransactionStats -> IO RepoTransactionStats
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr RepoTransactionStats -> RepoTransactionStats
RepoTransactionStats

instance tag ~ 'AttrSet => Constructible RepoTransactionStats tag where
    new :: (ManagedPtr RepoTransactionStats -> RepoTransactionStats)
-> [AttrOp RepoTransactionStats tag] -> m RepoTransactionStats
new _ attrs :: [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 (m :: * -> *) a. Monad m => a -> m a
return RepoTransactionStats
o


-- | A convenience alias for `Nothing` :: `Maybe` `RepoTransactionStats`.
noRepoTransactionStats :: Maybe RepoTransactionStats
noRepoTransactionStats :: Maybe RepoTransactionStats
noRepoTransactionStats = Maybe RepoTransactionStats
forall a. Maybe a
Nothing

-- | 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 :: RepoTransactionStats -> m Word32
getRepoTransactionStatsMetadataObjectsTotal s :: RepoTransactionStats
s = IO Word32 -> m Word32
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 :: 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` 0) :: IO Word32
    Word32 -> IO Word32
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 :: RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsMetadataObjectsTotal s :: RepoTransactionStats
s val :: Word32
val = IO () -> m ()
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 :: 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` 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

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 :: RepoTransactionStats -> m Word32
getRepoTransactionStatsMetadataObjectsWritten s :: RepoTransactionStats
s = IO Word32 -> m Word32
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 :: 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` 4) :: IO Word32
    Word32 -> IO Word32
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 :: RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsMetadataObjectsWritten s :: RepoTransactionStats
s val :: Word32
val = IO () -> m ()
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 :: 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` 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

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 :: RepoTransactionStats -> m Word32
getRepoTransactionStatsContentObjectsTotal s :: RepoTransactionStats
s = IO Word32 -> m Word32
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 :: 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` 8) :: IO Word32
    Word32 -> IO Word32
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 :: RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsContentObjectsTotal s :: RepoTransactionStats
s val :: Word32
val = IO () -> m ()
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 :: 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` 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

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 :: RepoTransactionStats -> m Word32
getRepoTransactionStatsContentObjectsWritten s :: RepoTransactionStats
s = IO Word32 -> m Word32
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 :: 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` 12) :: IO Word32
    Word32 -> IO Word32
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 :: RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsContentObjectsWritten s :: RepoTransactionStats
s val :: Word32
val = IO () -> m ()
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 :: 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` 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

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 :: RepoTransactionStats -> m Word64
getRepoTransactionStatsContentBytesWritten s :: RepoTransactionStats
s = IO Word64 -> m Word64
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 :: 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` 16) :: IO Word64
    Word64 -> IO Word64
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 :: RepoTransactionStats -> Word64 -> m ()
setRepoTransactionStatsContentBytesWritten s :: RepoTransactionStats
s val :: Word64
val = IO () -> m ()
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 :: 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` 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

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 :: RepoTransactionStats -> m Word32
getRepoTransactionStatsDevinoCacheHits s :: RepoTransactionStats
s = IO Word32 -> m Word32
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 :: 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` 24) :: IO Word32
    Word32 -> IO Word32
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 :: RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsDevinoCacheHits s :: RepoTransactionStats
s val :: Word32
val = IO () -> m ()
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 :: 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` 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

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 :: RepoTransactionStats -> m Word32
getRepoTransactionStatsPadding1 s :: RepoTransactionStats
s = IO Word32 -> m Word32
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 :: 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` 28) :: IO Word32
    Word32 -> IO Word32
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 :: RepoTransactionStats -> Word32 -> m ()
setRepoTransactionStatsPadding1 s :: RepoTransactionStats
s val :: Word32
val = IO () -> m ()
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 :: 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` 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

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 :: RepoTransactionStats -> m Word64
getRepoTransactionStatsPadding2 s :: RepoTransactionStats
s = IO Word64 -> m Word64
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 :: 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` 32) :: IO Word64
    Word64 -> IO Word64
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 :: RepoTransactionStats -> Word64 -> m ()
setRepoTransactionStatsPadding2 s :: RepoTransactionStats
s val :: Word64
val = IO () -> m ()
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 :: 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` 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

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 :: RepoTransactionStats -> m Word64
getRepoTransactionStatsPadding3 s :: RepoTransactionStats
s = IO Word64 -> m Word64
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 :: 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` 40) :: IO Word64
    Word64 -> IO Word64
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 :: RepoTransactionStats -> Word64 -> m ()
setRepoTransactionStatsPadding3 s :: RepoTransactionStats
s val :: Word64
val = IO () -> m ()
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 :: 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` 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

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 :: RepoTransactionStats -> m Word64
getRepoTransactionStatsPadding4 s :: RepoTransactionStats
s = IO Word64 -> m Word64
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 :: 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` 48) :: IO Word64
    Word64 -> IO Word64
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 :: RepoTransactionStats -> Word64 -> m ()
setRepoTransactionStatsPadding4 s :: RepoTransactionStats
s val :: Word64
val = IO () -> m ()
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 :: 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` 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

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, *)])
#endif

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

instance (info ~ ResolveRepoTransactionStatsMethod t RepoTransactionStats, O.MethodInfo 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

#endif