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

/No description available in the introspection data./
-}

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

module GI.OSTree.Structs.CmdPrivateVTable
    (

-- * Exported types
    CmdPrivateVTable(..)                    ,
    newZeroCmdPrivateVTable                 ,
    noCmdPrivateVTable                      ,


 -- * Properties
-- ** ostreeFinalizeStaged #attr:ostreeFinalizeStaged#
{- | /No description available in the introspection data./
-}
    clearCmdPrivateVTableOstreeFinalizeStaged,
#if ENABLE_OVERLOADING
    cmdPrivateVTable_ostreeFinalizeStaged   ,
#endif
    getCmdPrivateVTableOstreeFinalizeStaged ,
    setCmdPrivateVTableOstreeFinalizeStaged ,


-- ** ostreeGenerateGrub2Config #attr:ostreeGenerateGrub2Config#
{- | /No description available in the introspection data./
-}
    clearCmdPrivateVTableOstreeGenerateGrub2Config,
#if ENABLE_OVERLOADING
    cmdPrivateVTable_ostreeGenerateGrub2Config,
#endif
    getCmdPrivateVTableOstreeGenerateGrub2Config,
    setCmdPrivateVTableOstreeGenerateGrub2Config,


-- ** ostreeRepoVerifyBindings #attr:ostreeRepoVerifyBindings#
{- | /No description available in the introspection data./
-}
    clearCmdPrivateVTableOstreeRepoVerifyBindings,
#if ENABLE_OVERLOADING
    cmdPrivateVTable_ostreeRepoVerifyBindings,
#endif
    getCmdPrivateVTableOstreeRepoVerifyBindings,
    setCmdPrivateVTableOstreeRepoVerifyBindings,


-- ** ostreeStaticDeltaDelete #attr:ostreeStaticDeltaDelete#
{- | /No description available in the introspection data./
-}
    clearCmdPrivateVTableOstreeStaticDeltaDelete,
#if ENABLE_OVERLOADING
    cmdPrivateVTable_ostreeStaticDeltaDelete,
#endif
    getCmdPrivateVTableOstreeStaticDeltaDelete,
    setCmdPrivateVTableOstreeStaticDeltaDelete,


-- ** ostreeStaticDeltaDump #attr:ostreeStaticDeltaDump#
{- | /No description available in the introspection data./
-}
    clearCmdPrivateVTableOstreeStaticDeltaDump,
#if ENABLE_OVERLOADING
    cmdPrivateVTable_ostreeStaticDeltaDump  ,
#endif
    getCmdPrivateVTableOstreeStaticDeltaDump,
    setCmdPrivateVTableOstreeStaticDeltaDump,


-- ** ostreeStaticDeltaQueryExists #attr:ostreeStaticDeltaQueryExists#
{- | /No description available in the introspection data./
-}
    clearCmdPrivateVTableOstreeStaticDeltaQueryExists,
#if ENABLE_OVERLOADING
    cmdPrivateVTable_ostreeStaticDeltaQueryExists,
#endif
    getCmdPrivateVTableOstreeStaticDeltaQueryExists,
    setCmdPrivateVTableOstreeStaticDeltaQueryExists,


-- ** ostreeSystemGenerator #attr:ostreeSystemGenerator#
{- | /No description available in the introspection data./
-}
    clearCmdPrivateVTableOstreeSystemGenerator,
#if ENABLE_OVERLOADING
    cmdPrivateVTable_ostreeSystemGenerator  ,
#endif
    getCmdPrivateVTableOstreeSystemGenerator,
    setCmdPrivateVTableOstreeSystemGenerator,




    ) 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

import qualified GI.OSTree.Callbacks as OSTree.Callbacks

-- | Memory-managed wrapper type.
newtype CmdPrivateVTable = CmdPrivateVTable (ManagedPtr CmdPrivateVTable)
instance WrappedPtr CmdPrivateVTable where
    wrappedPtrCalloc = callocBytes 56
    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr CmdPrivateVTable)
    wrappedPtrFree = Just ptr_to_g_free

-- | Construct a `CmdPrivateVTable` struct initialized to zero.
newZeroCmdPrivateVTable :: MonadIO m => m CmdPrivateVTable
newZeroCmdPrivateVTable = liftIO $ wrappedPtrCalloc >>= wrapPtr CmdPrivateVTable

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


-- | A convenience alias for `Nothing` :: `Maybe` `CmdPrivateVTable`.
noCmdPrivateVTable :: Maybe CmdPrivateVTable
noCmdPrivateVTable = Nothing

{- |
Get the value of the “@ostree_system_generator@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeSystemGenerator
@
-}
getCmdPrivateVTableOstreeSystemGenerator :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeSystemGeneratorFieldCallback)
getCmdPrivateVTableOstreeSystemGenerator s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 0) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback)
    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeSystemGeneratorFieldCallback val'
        return val''
    return result

{- |
Set the value of the “@ostree_system_generator@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeSystemGenerator 'Data.GI.Base.Attributes.:=' value ]
@
-}
setCmdPrivateVTableOstreeSystemGenerator :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback -> m ()
setCmdPrivateVTableOstreeSystemGenerator s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 0) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback)

{- |
Set the value of the “@ostree_system_generator@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #ostreeSystemGenerator
@
-}
clearCmdPrivateVTableOstreeSystemGenerator :: MonadIO m => CmdPrivateVTable -> m ()
clearCmdPrivateVTableOstreeSystemGenerator s = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 0) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback)

#if ENABLE_OVERLOADING
data CmdPrivateVTableOstreeSystemGeneratorFieldInfo
instance AttrInfo CmdPrivateVTableOstreeSystemGeneratorFieldInfo where
    type AttrAllowedOps CmdPrivateVTableOstreeSystemGeneratorFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeSystemGeneratorFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback)
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeSystemGeneratorFieldInfo = (~) CmdPrivateVTable
    type AttrGetType CmdPrivateVTableOstreeSystemGeneratorFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeSystemGeneratorFieldCallback
    type AttrLabel CmdPrivateVTableOstreeSystemGeneratorFieldInfo = "ostree_system_generator"
    type AttrOrigin CmdPrivateVTableOstreeSystemGeneratorFieldInfo = CmdPrivateVTable
    attrGet _ = getCmdPrivateVTableOstreeSystemGenerator
    attrSet _ = setCmdPrivateVTableOstreeSystemGenerator
    attrConstruct = undefined
    attrClear _ = clearCmdPrivateVTableOstreeSystemGenerator

cmdPrivateVTable_ostreeSystemGenerator :: AttrLabelProxy "ostreeSystemGenerator"
cmdPrivateVTable_ostreeSystemGenerator = AttrLabelProxy

#endif


{- |
Get the value of the “@ostree_generate_grub2_config@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeGenerateGrub2Config
@
-}
getCmdPrivateVTableOstreeGenerateGrub2Config :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)
getCmdPrivateVTableOstreeGenerateGrub2Config s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)
    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback val'
        return val''
    return result

{- |
Set the value of the “@ostree_generate_grub2_config@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeGenerateGrub2Config 'Data.GI.Base.Attributes.:=' value ]
@
-}
setCmdPrivateVTableOstreeGenerateGrub2Config :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback -> m ()
setCmdPrivateVTableOstreeGenerateGrub2Config s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 8) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)

{- |
Set the value of the “@ostree_generate_grub2_config@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #ostreeGenerateGrub2Config
@
-}
clearCmdPrivateVTableOstreeGenerateGrub2Config :: MonadIO m => CmdPrivateVTable -> m ()
clearCmdPrivateVTableOstreeGenerateGrub2Config s = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)

#if ENABLE_OVERLOADING
data CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo
instance AttrInfo CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo where
    type AttrAllowedOps CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = (~) CmdPrivateVTable
    type AttrGetType CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback
    type AttrLabel CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = "ostree_generate_grub2_config"
    type AttrOrigin CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = CmdPrivateVTable
    attrGet _ = getCmdPrivateVTableOstreeGenerateGrub2Config
    attrSet _ = setCmdPrivateVTableOstreeGenerateGrub2Config
    attrConstruct = undefined
    attrClear _ = clearCmdPrivateVTableOstreeGenerateGrub2Config

cmdPrivateVTable_ostreeGenerateGrub2Config :: AttrLabelProxy "ostreeGenerateGrub2Config"
cmdPrivateVTable_ostreeGenerateGrub2Config = AttrLabelProxy

#endif


{- |
Get the value of the “@ostree_static_delta_dump@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeStaticDeltaDump
@
-}
getCmdPrivateVTableOstreeStaticDeltaDump :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)
getCmdPrivateVTableOstreeStaticDeltaDump s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 16) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)
    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback val'
        return val''
    return result

{- |
Set the value of the “@ostree_static_delta_dump@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeStaticDeltaDump 'Data.GI.Base.Attributes.:=' value ]
@
-}
setCmdPrivateVTableOstreeStaticDeltaDump :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback -> m ()
setCmdPrivateVTableOstreeStaticDeltaDump s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 16) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)

{- |
Set the value of the “@ostree_static_delta_dump@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #ostreeStaticDeltaDump
@
-}
clearCmdPrivateVTableOstreeStaticDeltaDump :: MonadIO m => CmdPrivateVTable -> m ()
clearCmdPrivateVTableOstreeStaticDeltaDump s = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 16) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)

#if ENABLE_OVERLOADING
data CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo
instance AttrInfo CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo where
    type AttrAllowedOps CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = (~) CmdPrivateVTable
    type AttrGetType CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback
    type AttrLabel CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = "ostree_static_delta_dump"
    type AttrOrigin CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = CmdPrivateVTable
    attrGet _ = getCmdPrivateVTableOstreeStaticDeltaDump
    attrSet _ = setCmdPrivateVTableOstreeStaticDeltaDump
    attrConstruct = undefined
    attrClear _ = clearCmdPrivateVTableOstreeStaticDeltaDump

cmdPrivateVTable_ostreeStaticDeltaDump :: AttrLabelProxy "ostreeStaticDeltaDump"
cmdPrivateVTable_ostreeStaticDeltaDump = AttrLabelProxy

#endif


{- |
Get the value of the “@ostree_static_delta_query_exists@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeStaticDeltaQueryExists
@
-}
getCmdPrivateVTableOstreeStaticDeltaQueryExists :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)
getCmdPrivateVTableOstreeStaticDeltaQueryExists s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)
    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback val'
        return val''
    return result

{- |
Set the value of the “@ostree_static_delta_query_exists@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeStaticDeltaQueryExists 'Data.GI.Base.Attributes.:=' value ]
@
-}
setCmdPrivateVTableOstreeStaticDeltaQueryExists :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback -> m ()
setCmdPrivateVTableOstreeStaticDeltaQueryExists s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 24) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)

{- |
Set the value of the “@ostree_static_delta_query_exists@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #ostreeStaticDeltaQueryExists
@
-}
clearCmdPrivateVTableOstreeStaticDeltaQueryExists :: MonadIO m => CmdPrivateVTable -> m ()
clearCmdPrivateVTableOstreeStaticDeltaQueryExists s = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)

#if ENABLE_OVERLOADING
data CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo
instance AttrInfo CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo where
    type AttrAllowedOps CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = (~) CmdPrivateVTable
    type AttrGetType CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback
    type AttrLabel CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = "ostree_static_delta_query_exists"
    type AttrOrigin CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = CmdPrivateVTable
    attrGet _ = getCmdPrivateVTableOstreeStaticDeltaQueryExists
    attrSet _ = setCmdPrivateVTableOstreeStaticDeltaQueryExists
    attrConstruct = undefined
    attrClear _ = clearCmdPrivateVTableOstreeStaticDeltaQueryExists

cmdPrivateVTable_ostreeStaticDeltaQueryExists :: AttrLabelProxy "ostreeStaticDeltaQueryExists"
cmdPrivateVTable_ostreeStaticDeltaQueryExists = AttrLabelProxy

#endif


{- |
Get the value of the “@ostree_static_delta_delete@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeStaticDeltaDelete
@
-}
getCmdPrivateVTableOstreeStaticDeltaDelete :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)
getCmdPrivateVTableOstreeStaticDeltaDelete s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 32) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)
    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback val'
        return val''
    return result

{- |
Set the value of the “@ostree_static_delta_delete@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeStaticDeltaDelete 'Data.GI.Base.Attributes.:=' value ]
@
-}
setCmdPrivateVTableOstreeStaticDeltaDelete :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback -> m ()
setCmdPrivateVTableOstreeStaticDeltaDelete s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 32) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)

{- |
Set the value of the “@ostree_static_delta_delete@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #ostreeStaticDeltaDelete
@
-}
clearCmdPrivateVTableOstreeStaticDeltaDelete :: MonadIO m => CmdPrivateVTable -> m ()
clearCmdPrivateVTableOstreeStaticDeltaDelete s = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 32) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)

#if ENABLE_OVERLOADING
data CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo
instance AttrInfo CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo where
    type AttrAllowedOps CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = (~) CmdPrivateVTable
    type AttrGetType CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback
    type AttrLabel CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = "ostree_static_delta_delete"
    type AttrOrigin CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = CmdPrivateVTable
    attrGet _ = getCmdPrivateVTableOstreeStaticDeltaDelete
    attrSet _ = setCmdPrivateVTableOstreeStaticDeltaDelete
    attrConstruct = undefined
    attrClear _ = clearCmdPrivateVTableOstreeStaticDeltaDelete

cmdPrivateVTable_ostreeStaticDeltaDelete :: AttrLabelProxy "ostreeStaticDeltaDelete"
cmdPrivateVTable_ostreeStaticDeltaDelete = AttrLabelProxy

#endif


{- |
Get the value of the “@ostree_repo_verify_bindings@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeRepoVerifyBindings
@
-}
getCmdPrivateVTableOstreeRepoVerifyBindings :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)
getCmdPrivateVTableOstreeRepoVerifyBindings s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 40) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)
    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback val'
        return val''
    return result

{- |
Set the value of the “@ostree_repo_verify_bindings@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeRepoVerifyBindings 'Data.GI.Base.Attributes.:=' value ]
@
-}
setCmdPrivateVTableOstreeRepoVerifyBindings :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback -> m ()
setCmdPrivateVTableOstreeRepoVerifyBindings s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 40) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)

{- |
Set the value of the “@ostree_repo_verify_bindings@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #ostreeRepoVerifyBindings
@
-}
clearCmdPrivateVTableOstreeRepoVerifyBindings :: MonadIO m => CmdPrivateVTable -> m ()
clearCmdPrivateVTableOstreeRepoVerifyBindings s = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 40) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)

#if ENABLE_OVERLOADING
data CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo
instance AttrInfo CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo where
    type AttrAllowedOps CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = (~) CmdPrivateVTable
    type AttrGetType CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback
    type AttrLabel CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = "ostree_repo_verify_bindings"
    type AttrOrigin CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = CmdPrivateVTable
    attrGet _ = getCmdPrivateVTableOstreeRepoVerifyBindings
    attrSet _ = setCmdPrivateVTableOstreeRepoVerifyBindings
    attrConstruct = undefined
    attrClear _ = clearCmdPrivateVTableOstreeRepoVerifyBindings

cmdPrivateVTable_ostreeRepoVerifyBindings :: AttrLabelProxy "ostreeRepoVerifyBindings"
cmdPrivateVTable_ostreeRepoVerifyBindings = AttrLabelProxy

#endif


{- |
Get the value of the “@ostree_finalize_staged@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeFinalizeStaged
@
-}
getCmdPrivateVTableOstreeFinalizeStaged :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeFinalizeStagedFieldCallback)
getCmdPrivateVTableOstreeFinalizeStaged s = liftIO $ withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 48) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)
    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeFinalizeStagedFieldCallback val'
        return val''
    return result

{- |
Set the value of the “@ostree_finalize_staged@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeFinalizeStaged 'Data.GI.Base.Attributes.:=' value ]
@
-}
setCmdPrivateVTableOstreeFinalizeStaged :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback -> m ()
setCmdPrivateVTableOstreeFinalizeStaged s val = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 48) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)

{- |
Set the value of the “@ostree_finalize_staged@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #ostreeFinalizeStaged
@
-}
clearCmdPrivateVTableOstreeFinalizeStaged :: MonadIO m => CmdPrivateVTable -> m ()
clearCmdPrivateVTableOstreeFinalizeStaged s = liftIO $ withManagedPtr s $ \ptr -> do
    poke (ptr `plusPtr` 48) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)

#if ENABLE_OVERLOADING
data CmdPrivateVTableOstreeFinalizeStagedFieldInfo
instance AttrInfo CmdPrivateVTableOstreeFinalizeStagedFieldInfo where
    type AttrAllowedOps CmdPrivateVTableOstreeFinalizeStagedFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeFinalizeStagedFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeFinalizeStagedFieldInfo = (~) CmdPrivateVTable
    type AttrGetType CmdPrivateVTableOstreeFinalizeStagedFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeFinalizeStagedFieldCallback
    type AttrLabel CmdPrivateVTableOstreeFinalizeStagedFieldInfo = "ostree_finalize_staged"
    type AttrOrigin CmdPrivateVTableOstreeFinalizeStagedFieldInfo = CmdPrivateVTable
    attrGet _ = getCmdPrivateVTableOstreeFinalizeStaged
    attrSet _ = setCmdPrivateVTableOstreeFinalizeStaged
    attrConstruct = undefined
    attrClear _ = clearCmdPrivateVTableOstreeFinalizeStaged

cmdPrivateVTable_ostreeFinalizeStaged :: AttrLabelProxy "ostreeFinalizeStaged"
cmdPrivateVTable_ostreeFinalizeStaged = AttrLabelProxy

#endif



#if ENABLE_OVERLOADING
instance O.HasAttributeList CmdPrivateVTable
type instance O.AttributeList CmdPrivateVTable = CmdPrivateVTableAttributeList
type CmdPrivateVTableAttributeList = ('[ '("ostreeSystemGenerator", CmdPrivateVTableOstreeSystemGeneratorFieldInfo), '("ostreeGenerateGrub2Config", CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo), '("ostreeStaticDeltaDump", CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo), '("ostreeStaticDeltaQueryExists", CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo), '("ostreeStaticDeltaDelete", CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo), '("ostreeRepoVerifyBindings", CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo), '("ostreeFinalizeStaged", CmdPrivateVTableOstreeFinalizeStagedFieldInfo)] :: [(Symbol, *)])
#endif

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

instance (info ~ ResolveCmdPrivateVTableMethod t CmdPrivateVTable, O.MethodInfo info CmdPrivateVTable p) => OL.IsLabel t (CmdPrivateVTable -> 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