{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)

A list of statistics for each transaction that may be
interesting for reporting purposes.
-}

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

module GI.OSTree.Structs.RepoTransactionStats
    (

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


 -- * Properties
-- ** contentBytesWritten #attr:contentBytesWritten#
{- | The amount of data added to the repository,
in bytes, counting only content objects.
-}
    getRepoTransactionStatsContentBytesWritten,
#if 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 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 ENABLE_OVERLOADING
    repoTransactionStats_contentObjectsWritten,
#endif
    setRepoTransactionStatsContentObjectsWritten,


-- ** devinoCacheHits #attr:devinoCacheHits#
{- | /No description available in the introspection data./
-}
    getRepoTransactionStatsDevinoCacheHits  ,
#if 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 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 ENABLE_OVERLOADING
    repoTransactionStats_metadataObjectsWritten,
#endif
    setRepoTransactionStatsMetadataObjectsWritten,


-- ** padding1 #attr:padding1#
{- | reserved
-}
    getRepoTransactionStatsPadding1         ,
#if ENABLE_OVERLOADING
    repoTransactionStats_padding1           ,
#endif
    setRepoTransactionStatsPadding1         ,


-- ** padding2 #attr:padding2#
{- | reserved
-}
    getRepoTransactionStatsPadding2         ,
#if ENABLE_OVERLOADING
    repoTransactionStats_padding2           ,
#endif
    setRepoTransactionStatsPadding2         ,


-- ** padding3 #attr:padding3#
{- | reserved
-}
    getRepoTransactionStatsPadding3         ,
#if ENABLE_OVERLOADING
    repoTransactionStats_padding3           ,
#endif
    setRepoTransactionStatsPadding3         ,


-- ** padding4 #attr:padding4#
{- | reserved
-}
    getRepoTransactionStatsPadding4         ,
#if 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.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)
foreign import ccall "ostree_repo_transaction_stats_get_type" c_ostree_repo_transaction_stats_get_type ::
    IO GType

instance BoxedObject RepoTransactionStats where
    boxedType _ = c_ostree_repo_transaction_stats_get_type

-- | Construct a `RepoTransactionStats` struct initialized to zero.
newZeroRepoTransactionStats :: MonadIO m => m RepoTransactionStats
newZeroRepoTransactionStats = liftIO $ callocBoxedBytes 56 >>= wrapBoxed RepoTransactionStats

instance tag ~ 'AttrSet => Constructible RepoTransactionStats tag where
    new _ attrs = do
        o <- newZeroRepoTransactionStats
        GI.Attributes.set o attrs
        return o


-- | A convenience alias for `Nothing` :: `Maybe` `RepoTransactionStats`.
noRepoTransactionStats :: Maybe RepoTransactionStats
noRepoTransactionStats = 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 s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 0) :: IO Word32
    return 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 s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 0) (val :: Word32)

#if ENABLE_OVERLOADING
data RepoTransactionStatsMetadataObjectsTotalFieldInfo
instance AttrInfo RepoTransactionStatsMetadataObjectsTotalFieldInfo where
    type AttrAllowedOps RepoTransactionStatsMetadataObjectsTotalFieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsMetadataObjectsTotalFieldInfo = (~) Word32
    type AttrBaseTypeConstraint RepoTransactionStatsMetadataObjectsTotalFieldInfo = (~) RepoTransactionStats
    type AttrGetType RepoTransactionStatsMetadataObjectsTotalFieldInfo = Word32
    type AttrLabel RepoTransactionStatsMetadataObjectsTotalFieldInfo = "metadata_objects_total"
    type AttrOrigin RepoTransactionStatsMetadataObjectsTotalFieldInfo = RepoTransactionStats
    attrGet _ = getRepoTransactionStatsMetadataObjectsTotal
    attrSet _ = setRepoTransactionStatsMetadataObjectsTotal
    attrConstruct = undefined
    attrClear _ = undefined

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 s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 4) :: IO Word32
    return 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 s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 4) (val :: Word32)

#if ENABLE_OVERLOADING
data RepoTransactionStatsMetadataObjectsWrittenFieldInfo
instance AttrInfo RepoTransactionStatsMetadataObjectsWrittenFieldInfo where
    type AttrAllowedOps RepoTransactionStatsMetadataObjectsWrittenFieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsMetadataObjectsWrittenFieldInfo = (~) Word32
    type AttrBaseTypeConstraint RepoTransactionStatsMetadataObjectsWrittenFieldInfo = (~) RepoTransactionStats
    type AttrGetType RepoTransactionStatsMetadataObjectsWrittenFieldInfo = Word32
    type AttrLabel RepoTransactionStatsMetadataObjectsWrittenFieldInfo = "metadata_objects_written"
    type AttrOrigin RepoTransactionStatsMetadataObjectsWrittenFieldInfo = RepoTransactionStats
    attrGet _ = getRepoTransactionStatsMetadataObjectsWritten
    attrSet _ = setRepoTransactionStatsMetadataObjectsWritten
    attrConstruct = undefined
    attrClear _ = undefined

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 s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 8) :: IO Word32
    return 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 s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 8) (val :: Word32)

#if ENABLE_OVERLOADING
data RepoTransactionStatsContentObjectsTotalFieldInfo
instance AttrInfo RepoTransactionStatsContentObjectsTotalFieldInfo where
    type AttrAllowedOps RepoTransactionStatsContentObjectsTotalFieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsContentObjectsTotalFieldInfo = (~) Word32
    type AttrBaseTypeConstraint RepoTransactionStatsContentObjectsTotalFieldInfo = (~) RepoTransactionStats
    type AttrGetType RepoTransactionStatsContentObjectsTotalFieldInfo = Word32
    type AttrLabel RepoTransactionStatsContentObjectsTotalFieldInfo = "content_objects_total"
    type AttrOrigin RepoTransactionStatsContentObjectsTotalFieldInfo = RepoTransactionStats
    attrGet _ = getRepoTransactionStatsContentObjectsTotal
    attrSet _ = setRepoTransactionStatsContentObjectsTotal
    attrConstruct = undefined
    attrClear _ = undefined

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 s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 12) :: IO Word32
    return 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 s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 12) (val :: Word32)

#if ENABLE_OVERLOADING
data RepoTransactionStatsContentObjectsWrittenFieldInfo
instance AttrInfo RepoTransactionStatsContentObjectsWrittenFieldInfo where
    type AttrAllowedOps RepoTransactionStatsContentObjectsWrittenFieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsContentObjectsWrittenFieldInfo = (~) Word32
    type AttrBaseTypeConstraint RepoTransactionStatsContentObjectsWrittenFieldInfo = (~) RepoTransactionStats
    type AttrGetType RepoTransactionStatsContentObjectsWrittenFieldInfo = Word32
    type AttrLabel RepoTransactionStatsContentObjectsWrittenFieldInfo = "content_objects_written"
    type AttrOrigin RepoTransactionStatsContentObjectsWrittenFieldInfo = RepoTransactionStats
    attrGet _ = getRepoTransactionStatsContentObjectsWritten
    attrSet _ = setRepoTransactionStatsContentObjectsWritten
    attrConstruct = undefined
    attrClear _ = undefined

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 s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 16) :: IO Word64
    return 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 s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 16) (val :: Word64)

#if ENABLE_OVERLOADING
data RepoTransactionStatsContentBytesWrittenFieldInfo
instance AttrInfo RepoTransactionStatsContentBytesWrittenFieldInfo where
    type AttrAllowedOps RepoTransactionStatsContentBytesWrittenFieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsContentBytesWrittenFieldInfo = (~) Word64
    type AttrBaseTypeConstraint RepoTransactionStatsContentBytesWrittenFieldInfo = (~) RepoTransactionStats
    type AttrGetType RepoTransactionStatsContentBytesWrittenFieldInfo = Word64
    type AttrLabel RepoTransactionStatsContentBytesWrittenFieldInfo = "content_bytes_written"
    type AttrOrigin RepoTransactionStatsContentBytesWrittenFieldInfo = RepoTransactionStats
    attrGet _ = getRepoTransactionStatsContentBytesWritten
    attrSet _ = setRepoTransactionStatsContentBytesWritten
    attrConstruct = undefined
    attrClear _ = undefined

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 s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 24) :: IO Word32
    return 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 s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 24) (val :: Word32)

#if ENABLE_OVERLOADING
data RepoTransactionStatsDevinoCacheHitsFieldInfo
instance AttrInfo RepoTransactionStatsDevinoCacheHitsFieldInfo where
    type AttrAllowedOps RepoTransactionStatsDevinoCacheHitsFieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsDevinoCacheHitsFieldInfo = (~) Word32
    type AttrBaseTypeConstraint RepoTransactionStatsDevinoCacheHitsFieldInfo = (~) RepoTransactionStats
    type AttrGetType RepoTransactionStatsDevinoCacheHitsFieldInfo = Word32
    type AttrLabel RepoTransactionStatsDevinoCacheHitsFieldInfo = "devino_cache_hits"
    type AttrOrigin RepoTransactionStatsDevinoCacheHitsFieldInfo = RepoTransactionStats
    attrGet _ = getRepoTransactionStatsDevinoCacheHits
    attrSet _ = setRepoTransactionStatsDevinoCacheHits
    attrConstruct = undefined
    attrClear _ = undefined

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 s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 28) :: IO Word32
    return 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 s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 28) (val :: Word32)

#if ENABLE_OVERLOADING
data RepoTransactionStatsPadding1FieldInfo
instance AttrInfo RepoTransactionStatsPadding1FieldInfo where
    type AttrAllowedOps RepoTransactionStatsPadding1FieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsPadding1FieldInfo = (~) Word32
    type AttrBaseTypeConstraint RepoTransactionStatsPadding1FieldInfo = (~) RepoTransactionStats
    type AttrGetType RepoTransactionStatsPadding1FieldInfo = Word32
    type AttrLabel RepoTransactionStatsPadding1FieldInfo = "padding1"
    type AttrOrigin RepoTransactionStatsPadding1FieldInfo = RepoTransactionStats
    attrGet _ = getRepoTransactionStatsPadding1
    attrSet _ = setRepoTransactionStatsPadding1
    attrConstruct = undefined
    attrClear _ = undefined

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 s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 32) :: IO Word64
    return 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 s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 32) (val :: Word64)

#if ENABLE_OVERLOADING
data RepoTransactionStatsPadding2FieldInfo
instance AttrInfo RepoTransactionStatsPadding2FieldInfo where
    type AttrAllowedOps RepoTransactionStatsPadding2FieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsPadding2FieldInfo = (~) Word64
    type AttrBaseTypeConstraint RepoTransactionStatsPadding2FieldInfo = (~) RepoTransactionStats
    type AttrGetType RepoTransactionStatsPadding2FieldInfo = Word64
    type AttrLabel RepoTransactionStatsPadding2FieldInfo = "padding2"
    type AttrOrigin RepoTransactionStatsPadding2FieldInfo = RepoTransactionStats
    attrGet _ = getRepoTransactionStatsPadding2
    attrSet _ = setRepoTransactionStatsPadding2
    attrConstruct = undefined
    attrClear _ = undefined

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 s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 40) :: IO Word64
    return 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 s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 40) (val :: Word64)

#if ENABLE_OVERLOADING
data RepoTransactionStatsPadding3FieldInfo
instance AttrInfo RepoTransactionStatsPadding3FieldInfo where
    type AttrAllowedOps RepoTransactionStatsPadding3FieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsPadding3FieldInfo = (~) Word64
    type AttrBaseTypeConstraint RepoTransactionStatsPadding3FieldInfo = (~) RepoTransactionStats
    type AttrGetType RepoTransactionStatsPadding3FieldInfo = Word64
    type AttrLabel RepoTransactionStatsPadding3FieldInfo = "padding3"
    type AttrOrigin RepoTransactionStatsPadding3FieldInfo = RepoTransactionStats
    attrGet _ = getRepoTransactionStatsPadding3
    attrSet _ = setRepoTransactionStatsPadding3
    attrConstruct = undefined
    attrClear _ = undefined

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 s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 48) :: IO Word64
    return 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 s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 48) (val :: Word64)

#if ENABLE_OVERLOADING
data RepoTransactionStatsPadding4FieldInfo
instance AttrInfo RepoTransactionStatsPadding4FieldInfo where
    type AttrAllowedOps RepoTransactionStatsPadding4FieldInfo = '[ 'AttrSet, 'AttrGet]
    type AttrSetTypeConstraint RepoTransactionStatsPadding4FieldInfo = (~) Word64
    type AttrBaseTypeConstraint RepoTransactionStatsPadding4FieldInfo = (~) RepoTransactionStats
    type AttrGetType RepoTransactionStatsPadding4FieldInfo = Word64
    type AttrLabel RepoTransactionStatsPadding4FieldInfo = "padding4"
    type AttrOrigin RepoTransactionStatsPadding4FieldInfo = RepoTransactionStats
    attrGet _ = getRepoTransactionStatsPadding4
    attrSet _ = setRepoTransactionStatsPadding4
    attrConstruct = undefined
    attrClear _ = undefined

repoTransactionStats_padding4 :: AttrLabelProxy "padding4"
repoTransactionStats_padding4 = AttrLabelProxy

#endif



#if 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 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 (O.MethodProxy :: O.MethodProxy info)
#else
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

#endif