{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.OSTree.Structs.DiffItem
(
DiffItem(..) ,
newZeroDiffItem ,
noDiffItem ,
#if defined(ENABLE_OVERLOADING)
ResolveDiffItemMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
DiffItemRefMethodInfo ,
#endif
diffItemRef ,
#if defined(ENABLE_OVERLOADING)
DiffItemUnrefMethodInfo ,
#endif
diffItemUnref ,
#if defined(ENABLE_OVERLOADING)
diffItem_refcount ,
#endif
getDiffItemRefcount ,
setDiffItemRefcount ,
clearDiffItemSrc ,
#if defined(ENABLE_OVERLOADING)
diffItem_src ,
#endif
getDiffItemSrc ,
setDiffItemSrc ,
clearDiffItemSrcChecksum ,
#if defined(ENABLE_OVERLOADING)
diffItem_srcChecksum ,
#endif
getDiffItemSrcChecksum ,
setDiffItemSrcChecksum ,
clearDiffItemSrcInfo ,
#if defined(ENABLE_OVERLOADING)
diffItem_srcInfo ,
#endif
getDiffItemSrcInfo ,
setDiffItemSrcInfo ,
clearDiffItemTarget ,
#if defined(ENABLE_OVERLOADING)
diffItem_target ,
#endif
getDiffItemTarget ,
setDiffItemTarget ,
clearDiffItemTargetChecksum ,
#if defined(ENABLE_OVERLOADING)
diffItem_targetChecksum ,
#endif
getDiffItemTargetChecksum ,
setDiffItemTargetChecksum ,
clearDiffItemTargetInfo ,
#if defined(ENABLE_OVERLOADING)
diffItem_targetInfo ,
#endif
getDiffItemTargetInfo ,
setDiffItemTargetInfo ,
) 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.Gio.Interfaces.File as Gio.File
import qualified GI.Gio.Objects.FileInfo as Gio.FileInfo
newtype DiffItem = DiffItem (ManagedPtr DiffItem)
deriving (Eq)
foreign import ccall "ostree_diff_item_get_type" c_ostree_diff_item_get_type ::
IO GType
instance BoxedObject DiffItem where
boxedType _ = c_ostree_diff_item_get_type
instance B.GValue.IsGValue DiffItem where
toGValue o = do
gtype <- c_ostree_diff_item_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 DiffItem)
B.ManagedPtr.newBoxed DiffItem ptr
newZeroDiffItem :: MonadIO m => m DiffItem
newZeroDiffItem = liftIO $ callocBoxedBytes 28 >>= wrapBoxed DiffItem
instance tag ~ 'AttrSet => Constructible DiffItem tag where
new _ attrs = do
o <- newZeroDiffItem
GI.Attributes.set o attrs
return o
noDiffItem :: Maybe DiffItem
noDiffItem = Nothing
getDiffItemRefcount :: MonadIO m => DiffItem -> m Int32
getDiffItemRefcount s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO Int32
return val
setDiffItemRefcount :: MonadIO m => DiffItem -> Int32 -> m ()
setDiffItemRefcount s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (val :: Int32)
#if defined(ENABLE_OVERLOADING)
data DiffItemRefcountFieldInfo
instance AttrInfo DiffItemRefcountFieldInfo where
type AttrBaseTypeConstraint DiffItemRefcountFieldInfo = (~) DiffItem
type AttrAllowedOps DiffItemRefcountFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint DiffItemRefcountFieldInfo = (~) Int32
type AttrTransferTypeConstraint DiffItemRefcountFieldInfo = (~)Int32
type AttrTransferType DiffItemRefcountFieldInfo = Int32
type AttrGetType DiffItemRefcountFieldInfo = Int32
type AttrLabel DiffItemRefcountFieldInfo = "refcount"
type AttrOrigin DiffItemRefcountFieldInfo = DiffItem
attrGet = getDiffItemRefcount
attrSet = setDiffItemRefcount
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
diffItem_refcount :: AttrLabelProxy "refcount"
diffItem_refcount = AttrLabelProxy
#endif
getDiffItemSrc :: MonadIO m => DiffItem -> m (Maybe Gio.File.File)
getDiffItemSrc s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 4) :: IO (Ptr Gio.File.File)
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- (newObject Gio.File.File) val'
return val''
return result
setDiffItemSrc :: MonadIO m => DiffItem -> Ptr Gio.File.File -> m ()
setDiffItemSrc s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 4) (val :: Ptr Gio.File.File)
clearDiffItemSrc :: MonadIO m => DiffItem -> m ()
clearDiffItemSrc s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 4) (FP.nullPtr :: Ptr Gio.File.File)
#if defined(ENABLE_OVERLOADING)
data DiffItemSrcFieldInfo
instance AttrInfo DiffItemSrcFieldInfo where
type AttrBaseTypeConstraint DiffItemSrcFieldInfo = (~) DiffItem
type AttrAllowedOps DiffItemSrcFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint DiffItemSrcFieldInfo = (~) (Ptr Gio.File.File)
type AttrTransferTypeConstraint DiffItemSrcFieldInfo = (~)(Ptr Gio.File.File)
type AttrTransferType DiffItemSrcFieldInfo = (Ptr Gio.File.File)
type AttrGetType DiffItemSrcFieldInfo = Maybe Gio.File.File
type AttrLabel DiffItemSrcFieldInfo = "src"
type AttrOrigin DiffItemSrcFieldInfo = DiffItem
attrGet = getDiffItemSrc
attrSet = setDiffItemSrc
attrConstruct = undefined
attrClear = clearDiffItemSrc
attrTransfer _ v = do
return v
diffItem_src :: AttrLabelProxy "src"
diffItem_src = AttrLabelProxy
#endif
getDiffItemTarget :: MonadIO m => DiffItem -> m (Maybe Gio.File.File)
getDiffItemTarget s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gio.File.File)
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- (newObject Gio.File.File) val'
return val''
return result
setDiffItemTarget :: MonadIO m => DiffItem -> Ptr Gio.File.File -> m ()
setDiffItemTarget s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (val :: Ptr Gio.File.File)
clearDiffItemTarget :: MonadIO m => DiffItem -> m ()
clearDiffItemTarget s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gio.File.File)
#if defined(ENABLE_OVERLOADING)
data DiffItemTargetFieldInfo
instance AttrInfo DiffItemTargetFieldInfo where
type AttrBaseTypeConstraint DiffItemTargetFieldInfo = (~) DiffItem
type AttrAllowedOps DiffItemTargetFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint DiffItemTargetFieldInfo = (~) (Ptr Gio.File.File)
type AttrTransferTypeConstraint DiffItemTargetFieldInfo = (~)(Ptr Gio.File.File)
type AttrTransferType DiffItemTargetFieldInfo = (Ptr Gio.File.File)
type AttrGetType DiffItemTargetFieldInfo = Maybe Gio.File.File
type AttrLabel DiffItemTargetFieldInfo = "target"
type AttrOrigin DiffItemTargetFieldInfo = DiffItem
attrGet = getDiffItemTarget
attrSet = setDiffItemTarget
attrConstruct = undefined
attrClear = clearDiffItemTarget
attrTransfer _ v = do
return v
diffItem_target :: AttrLabelProxy "target"
diffItem_target = AttrLabelProxy
#endif
getDiffItemSrcInfo :: MonadIO m => DiffItem -> m (Maybe Gio.FileInfo.FileInfo)
getDiffItemSrcInfo s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 12) :: IO (Ptr Gio.FileInfo.FileInfo)
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- (newObject Gio.FileInfo.FileInfo) val'
return val''
return result
setDiffItemSrcInfo :: MonadIO m => DiffItem -> Ptr Gio.FileInfo.FileInfo -> m ()
setDiffItemSrcInfo s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 12) (val :: Ptr Gio.FileInfo.FileInfo)
clearDiffItemSrcInfo :: MonadIO m => DiffItem -> m ()
clearDiffItemSrcInfo s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 12) (FP.nullPtr :: Ptr Gio.FileInfo.FileInfo)
#if defined(ENABLE_OVERLOADING)
data DiffItemSrcInfoFieldInfo
instance AttrInfo DiffItemSrcInfoFieldInfo where
type AttrBaseTypeConstraint DiffItemSrcInfoFieldInfo = (~) DiffItem
type AttrAllowedOps DiffItemSrcInfoFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint DiffItemSrcInfoFieldInfo = (~) (Ptr Gio.FileInfo.FileInfo)
type AttrTransferTypeConstraint DiffItemSrcInfoFieldInfo = (~)(Ptr Gio.FileInfo.FileInfo)
type AttrTransferType DiffItemSrcInfoFieldInfo = (Ptr Gio.FileInfo.FileInfo)
type AttrGetType DiffItemSrcInfoFieldInfo = Maybe Gio.FileInfo.FileInfo
type AttrLabel DiffItemSrcInfoFieldInfo = "src_info"
type AttrOrigin DiffItemSrcInfoFieldInfo = DiffItem
attrGet = getDiffItemSrcInfo
attrSet = setDiffItemSrcInfo
attrConstruct = undefined
attrClear = clearDiffItemSrcInfo
attrTransfer _ v = do
return v
diffItem_srcInfo :: AttrLabelProxy "srcInfo"
diffItem_srcInfo = AttrLabelProxy
#endif
getDiffItemTargetInfo :: MonadIO m => DiffItem -> m (Maybe Gio.FileInfo.FileInfo)
getDiffItemTargetInfo s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO (Ptr Gio.FileInfo.FileInfo)
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- (newObject Gio.FileInfo.FileInfo) val'
return val''
return result
setDiffItemTargetInfo :: MonadIO m => DiffItem -> Ptr Gio.FileInfo.FileInfo -> m ()
setDiffItemTargetInfo s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (val :: Ptr Gio.FileInfo.FileInfo)
clearDiffItemTargetInfo :: MonadIO m => DiffItem -> m ()
clearDiffItemTargetInfo s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr Gio.FileInfo.FileInfo)
#if defined(ENABLE_OVERLOADING)
data DiffItemTargetInfoFieldInfo
instance AttrInfo DiffItemTargetInfoFieldInfo where
type AttrBaseTypeConstraint DiffItemTargetInfoFieldInfo = (~) DiffItem
type AttrAllowedOps DiffItemTargetInfoFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint DiffItemTargetInfoFieldInfo = (~) (Ptr Gio.FileInfo.FileInfo)
type AttrTransferTypeConstraint DiffItemTargetInfoFieldInfo = (~)(Ptr Gio.FileInfo.FileInfo)
type AttrTransferType DiffItemTargetInfoFieldInfo = (Ptr Gio.FileInfo.FileInfo)
type AttrGetType DiffItemTargetInfoFieldInfo = Maybe Gio.FileInfo.FileInfo
type AttrLabel DiffItemTargetInfoFieldInfo = "target_info"
type AttrOrigin DiffItemTargetInfoFieldInfo = DiffItem
attrGet = getDiffItemTargetInfo
attrSet = setDiffItemTargetInfo
attrConstruct = undefined
attrClear = clearDiffItemTargetInfo
attrTransfer _ v = do
return v
diffItem_targetInfo :: AttrLabelProxy "targetInfo"
diffItem_targetInfo = AttrLabelProxy
#endif
getDiffItemSrcChecksum :: MonadIO m => DiffItem -> m (Maybe T.Text)
getDiffItemSrcChecksum s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 20) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
setDiffItemSrcChecksum :: MonadIO m => DiffItem -> CString -> m ()
setDiffItemSrcChecksum s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 20) (val :: CString)
clearDiffItemSrcChecksum :: MonadIO m => DiffItem -> m ()
clearDiffItemSrcChecksum s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 20) (FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING)
data DiffItemSrcChecksumFieldInfo
instance AttrInfo DiffItemSrcChecksumFieldInfo where
type AttrBaseTypeConstraint DiffItemSrcChecksumFieldInfo = (~) DiffItem
type AttrAllowedOps DiffItemSrcChecksumFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint DiffItemSrcChecksumFieldInfo = (~) CString
type AttrTransferTypeConstraint DiffItemSrcChecksumFieldInfo = (~)CString
type AttrTransferType DiffItemSrcChecksumFieldInfo = CString
type AttrGetType DiffItemSrcChecksumFieldInfo = Maybe T.Text
type AttrLabel DiffItemSrcChecksumFieldInfo = "src_checksum"
type AttrOrigin DiffItemSrcChecksumFieldInfo = DiffItem
attrGet = getDiffItemSrcChecksum
attrSet = setDiffItemSrcChecksum
attrConstruct = undefined
attrClear = clearDiffItemSrcChecksum
attrTransfer _ v = do
return v
diffItem_srcChecksum :: AttrLabelProxy "srcChecksum"
diffItem_srcChecksum = AttrLabelProxy
#endif
getDiffItemTargetChecksum :: MonadIO m => DiffItem -> m (Maybe T.Text)
getDiffItemTargetChecksum s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 24) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
setDiffItemTargetChecksum :: MonadIO m => DiffItem -> CString -> m ()
setDiffItemTargetChecksum s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 24) (val :: CString)
clearDiffItemTargetChecksum :: MonadIO m => DiffItem -> m ()
clearDiffItemTargetChecksum s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING)
data DiffItemTargetChecksumFieldInfo
instance AttrInfo DiffItemTargetChecksumFieldInfo where
type AttrBaseTypeConstraint DiffItemTargetChecksumFieldInfo = (~) DiffItem
type AttrAllowedOps DiffItemTargetChecksumFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint DiffItemTargetChecksumFieldInfo = (~) CString
type AttrTransferTypeConstraint DiffItemTargetChecksumFieldInfo = (~)CString
type AttrTransferType DiffItemTargetChecksumFieldInfo = CString
type AttrGetType DiffItemTargetChecksumFieldInfo = Maybe T.Text
type AttrLabel DiffItemTargetChecksumFieldInfo = "target_checksum"
type AttrOrigin DiffItemTargetChecksumFieldInfo = DiffItem
attrGet = getDiffItemTargetChecksum
attrSet = setDiffItemTargetChecksum
attrConstruct = undefined
attrClear = clearDiffItemTargetChecksum
attrTransfer _ v = do
return v
diffItem_targetChecksum :: AttrLabelProxy "targetChecksum"
diffItem_targetChecksum = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DiffItem
type instance O.AttributeList DiffItem = DiffItemAttributeList
type DiffItemAttributeList = ('[ '("refcount", DiffItemRefcountFieldInfo), '("src", DiffItemSrcFieldInfo), '("target", DiffItemTargetFieldInfo), '("srcInfo", DiffItemSrcInfoFieldInfo), '("targetInfo", DiffItemTargetInfoFieldInfo), '("srcChecksum", DiffItemSrcChecksumFieldInfo), '("targetChecksum", DiffItemTargetChecksumFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "ostree_diff_item_ref" ostree_diff_item_ref ::
Ptr DiffItem ->
IO (Ptr DiffItem)
diffItemRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
DiffItem
-> m DiffItem
diffItemRef diffitem = liftIO $ do
diffitem' <- unsafeManagedPtrGetPtr diffitem
result <- ostree_diff_item_ref diffitem'
checkUnexpectedReturnNULL "diffItemRef" result
result' <- (wrapBoxed DiffItem) result
touchManagedPtr diffitem
return result'
#if defined(ENABLE_OVERLOADING)
data DiffItemRefMethodInfo
instance (signature ~ (m DiffItem), MonadIO m) => O.MethodInfo DiffItemRefMethodInfo DiffItem signature where
overloadedMethod = diffItemRef
#endif
foreign import ccall "ostree_diff_item_unref" ostree_diff_item_unref ::
Ptr DiffItem ->
IO ()
diffItemUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
DiffItem
-> m ()
diffItemUnref diffitem = liftIO $ do
diffitem' <- unsafeManagedPtrGetPtr diffitem
ostree_diff_item_unref diffitem'
touchManagedPtr diffitem
return ()
#if defined(ENABLE_OVERLOADING)
data DiffItemUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DiffItemUnrefMethodInfo DiffItem signature where
overloadedMethod = diffItemUnref
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveDiffItemMethod (t :: Symbol) (o :: *) :: * where
ResolveDiffItemMethod "ref" o = DiffItemRefMethodInfo
ResolveDiffItemMethod "unref" o = DiffItemUnrefMethodInfo
ResolveDiffItemMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDiffItemMethod t DiffItem, O.MethodInfo info DiffItem p) => OL.IsLabel t (DiffItem -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif