{-# 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 (Eq)
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

-- | 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 o = do
        gtype <- c_ostree_repo_transaction_stats_get_type
        B.ManagedPtr.withManagedPtr o (B.GValue.buildGValue gtype B.GValue.set_boxed)

    fromGValue gv = do
        ptr <- B.GValue.get_boxed gv :: IO (Ptr RepoTransactionStats)
        B.ManagedPtr.newBoxed RepoTransactionStats ptr



-- | 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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