{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- /No description available in the introspection data./

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

module GI.OSTree.Structs.CmdPrivateVTable
    (

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


 -- * Methods
-- ** Overloaded methods #method:Overloaded methods#

#if defined(ENABLE_OVERLOADING)
    ResolveCmdPrivateVTableMethod           ,
#endif




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

    clearCmdPrivateVTableOstreeFinalizeStaged,
#if defined(ENABLE_OVERLOADING)
    cmdPrivateVTable_ostreeFinalizeStaged   ,
#endif
    getCmdPrivateVTableOstreeFinalizeStaged ,
    setCmdPrivateVTableOstreeFinalizeStaged ,


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

    clearCmdPrivateVTableOstreeGenerateGrub2Config,
#if defined(ENABLE_OVERLOADING)
    cmdPrivateVTable_ostreeGenerateGrub2Config,
#endif
    getCmdPrivateVTableOstreeGenerateGrub2Config,
    setCmdPrivateVTableOstreeGenerateGrub2Config,


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

    clearCmdPrivateVTableOstreeRepoVerifyBindings,
#if defined(ENABLE_OVERLOADING)
    cmdPrivateVTable_ostreeRepoVerifyBindings,
#endif
    getCmdPrivateVTableOstreeRepoVerifyBindings,
    setCmdPrivateVTableOstreeRepoVerifyBindings,


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

    clearCmdPrivateVTableOstreeStaticDeltaDelete,
#if defined(ENABLE_OVERLOADING)
    cmdPrivateVTable_ostreeStaticDeltaDelete,
#endif
    getCmdPrivateVTableOstreeStaticDeltaDelete,
    setCmdPrivateVTableOstreeStaticDeltaDelete,


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

    clearCmdPrivateVTableOstreeStaticDeltaDump,
#if defined(ENABLE_OVERLOADING)
    cmdPrivateVTable_ostreeStaticDeltaDump  ,
#endif
    getCmdPrivateVTableOstreeStaticDeltaDump,
    setCmdPrivateVTableOstreeStaticDeltaDump,


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

    clearCmdPrivateVTableOstreeStaticDeltaQueryExists,
#if defined(ENABLE_OVERLOADING)
    cmdPrivateVTable_ostreeStaticDeltaQueryExists,
#endif
    getCmdPrivateVTableOstreeStaticDeltaQueryExists,
    setCmdPrivateVTableOstreeStaticDeltaQueryExists,


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

    clearCmdPrivateVTableOstreeSystemGenerator,
#if defined(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.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

import qualified GI.OSTree.Callbacks as OSTree.Callbacks

-- | Memory-managed wrapper type.
newtype CmdPrivateVTable = CmdPrivateVTable (ManagedPtr CmdPrivateVTable)
    deriving (Eq)
instance WrappedPtr CmdPrivateVTable where
    wrappedPtrCalloc = callocBytes 28
    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 28 >=> 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 defined(ENABLE_OVERLOADING)
data CmdPrivateVTableOstreeSystemGeneratorFieldInfo
instance AttrInfo CmdPrivateVTableOstreeSystemGeneratorFieldInfo where
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeSystemGeneratorFieldInfo = (~) CmdPrivateVTable
    type AttrAllowedOps CmdPrivateVTableOstreeSystemGeneratorFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeSystemGeneratorFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback)
    type AttrTransferTypeConstraint CmdPrivateVTableOstreeSystemGeneratorFieldInfo = (~)(FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback)
    type AttrTransferType CmdPrivateVTableOstreeSystemGeneratorFieldInfo = (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback)
    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
    attrTransfer _ v = do
        return v

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` 4) :: 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` 4) (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` 4) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)

#if defined(ENABLE_OVERLOADING)
data CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo
instance AttrInfo CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo where
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = (~) CmdPrivateVTable
    type AttrAllowedOps CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)
    type AttrTransferTypeConstraint CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = (~)(FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)
    type AttrTransferType CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)
    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
    attrTransfer _ v = do
        return v

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` 8) :: 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` 8) (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` 8) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)

#if defined(ENABLE_OVERLOADING)
data CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo
instance AttrInfo CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo where
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = (~) CmdPrivateVTable
    type AttrAllowedOps CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)
    type AttrTransferTypeConstraint CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = (~)(FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)
    type AttrTransferType CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)
    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
    attrTransfer _ v = do
        return v

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` 12) :: 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` 12) (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` 12) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)

#if defined(ENABLE_OVERLOADING)
data CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo
instance AttrInfo CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo where
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = (~) CmdPrivateVTable
    type AttrAllowedOps CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)
    type AttrTransferTypeConstraint CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = (~)(FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)
    type AttrTransferType CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)
    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
    attrTransfer _ v = do
        return v

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` 16) :: 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` 16) (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` 16) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)

#if defined(ENABLE_OVERLOADING)
data CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo
instance AttrInfo CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo where
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = (~) CmdPrivateVTable
    type AttrAllowedOps CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)
    type AttrTransferTypeConstraint CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = (~)(FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)
    type AttrTransferType CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)
    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
    attrTransfer _ v = do
        return v

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` 20) :: 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` 20) (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` 20) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)

#if defined(ENABLE_OVERLOADING)
data CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo
instance AttrInfo CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo where
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = (~) CmdPrivateVTable
    type AttrAllowedOps CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)
    type AttrTransferTypeConstraint CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = (~)(FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)
    type AttrTransferType CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)
    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
    attrTransfer _ v = do
        return v

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` 24) :: 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` 24) (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` 24) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)

#if defined(ENABLE_OVERLOADING)
data CmdPrivateVTableOstreeFinalizeStagedFieldInfo
instance AttrInfo CmdPrivateVTableOstreeFinalizeStagedFieldInfo where
    type AttrBaseTypeConstraint CmdPrivateVTableOstreeFinalizeStagedFieldInfo = (~) CmdPrivateVTable
    type AttrAllowedOps CmdPrivateVTableOstreeFinalizeStagedFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CmdPrivateVTableOstreeFinalizeStagedFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)
    type AttrTransferTypeConstraint CmdPrivateVTableOstreeFinalizeStagedFieldInfo = (~)(FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)
    type AttrTransferType CmdPrivateVTableOstreeFinalizeStagedFieldInfo = (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)
    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
    attrTransfer _ v = do
        return v

cmdPrivateVTable_ostreeFinalizeStaged :: AttrLabelProxy "ostreeFinalizeStaged"
cmdPrivateVTable_ostreeFinalizeStaged = AttrLabelProxy

#endif



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

#endif