{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Ggit.Structs.DiffDelta
(
DiffDelta(..) ,
noDiffDelta ,
#if defined(ENABLE_OVERLOADING)
ResolveDiffDeltaMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
DiffDeltaGetFlagsMethodInfo ,
#endif
diffDeltaGetFlags ,
#if defined(ENABLE_OVERLOADING)
DiffDeltaGetNewFileMethodInfo ,
#endif
diffDeltaGetNewFile ,
#if defined(ENABLE_OVERLOADING)
DiffDeltaGetOldFileMethodInfo ,
#endif
diffDeltaGetOldFile ,
#if defined(ENABLE_OVERLOADING)
DiffDeltaGetSimilarityMethodInfo ,
#endif
diffDeltaGetSimilarity ,
#if defined(ENABLE_OVERLOADING)
DiffDeltaGetStatusMethodInfo ,
#endif
diffDeltaGetStatus ,
#if defined(ENABLE_OVERLOADING)
DiffDeltaRefMethodInfo ,
#endif
diffDeltaRef ,
#if defined(ENABLE_OVERLOADING)
DiffDeltaUnrefMethodInfo ,
#endif
diffDeltaUnref ,
) 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 {-# SOURCE #-} qualified GI.Ggit.Enums as Ggit.Enums
import {-# SOURCE #-} qualified GI.Ggit.Flags as Ggit.Flags
import {-# SOURCE #-} qualified GI.Ggit.Structs.DiffFile as Ggit.DiffFile
newtype DiffDelta = DiffDelta (ManagedPtr DiffDelta)
deriving (Eq)
foreign import ccall "ggit_diff_delta_get_type" c_ggit_diff_delta_get_type ::
IO GType
instance BoxedObject DiffDelta where
boxedType _ = c_ggit_diff_delta_get_type
instance B.GValue.IsGValue DiffDelta where
toGValue o = do
gtype <- c_ggit_diff_delta_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 DiffDelta)
B.ManagedPtr.newBoxed DiffDelta ptr
noDiffDelta :: Maybe DiffDelta
noDiffDelta = Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DiffDelta
type instance O.AttributeList DiffDelta = DiffDeltaAttributeList
type DiffDeltaAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "ggit_diff_delta_get_flags" ggit_diff_delta_get_flags ::
Ptr DiffDelta ->
IO CUInt
diffDeltaGetFlags ::
(B.CallStack.HasCallStack, MonadIO m) =>
DiffDelta
-> m [Ggit.Flags.DiffFlag]
diffDeltaGetFlags delta = liftIO $ do
delta' <- unsafeManagedPtrGetPtr delta
result <- ggit_diff_delta_get_flags delta'
let result' = wordToGFlags result
touchManagedPtr delta
return result'
#if defined(ENABLE_OVERLOADING)
data DiffDeltaGetFlagsMethodInfo
instance (signature ~ (m [Ggit.Flags.DiffFlag]), MonadIO m) => O.MethodInfo DiffDeltaGetFlagsMethodInfo DiffDelta signature where
overloadedMethod = diffDeltaGetFlags
#endif
foreign import ccall "ggit_diff_delta_get_new_file" ggit_diff_delta_get_new_file ::
Ptr DiffDelta ->
IO (Ptr Ggit.DiffFile.DiffFile)
diffDeltaGetNewFile ::
(B.CallStack.HasCallStack, MonadIO m) =>
DiffDelta
-> m (Maybe Ggit.DiffFile.DiffFile)
diffDeltaGetNewFile delta = liftIO $ do
delta' <- unsafeManagedPtrGetPtr delta
result <- ggit_diff_delta_get_new_file delta'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newBoxed Ggit.DiffFile.DiffFile) result'
return result''
touchManagedPtr delta
return maybeResult
#if defined(ENABLE_OVERLOADING)
data DiffDeltaGetNewFileMethodInfo
instance (signature ~ (m (Maybe Ggit.DiffFile.DiffFile)), MonadIO m) => O.MethodInfo DiffDeltaGetNewFileMethodInfo DiffDelta signature where
overloadedMethod = diffDeltaGetNewFile
#endif
foreign import ccall "ggit_diff_delta_get_old_file" ggit_diff_delta_get_old_file ::
Ptr DiffDelta ->
IO (Ptr Ggit.DiffFile.DiffFile)
diffDeltaGetOldFile ::
(B.CallStack.HasCallStack, MonadIO m) =>
DiffDelta
-> m (Maybe Ggit.DiffFile.DiffFile)
diffDeltaGetOldFile delta = liftIO $ do
delta' <- unsafeManagedPtrGetPtr delta
result <- ggit_diff_delta_get_old_file delta'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newBoxed Ggit.DiffFile.DiffFile) result'
return result''
touchManagedPtr delta
return maybeResult
#if defined(ENABLE_OVERLOADING)
data DiffDeltaGetOldFileMethodInfo
instance (signature ~ (m (Maybe Ggit.DiffFile.DiffFile)), MonadIO m) => O.MethodInfo DiffDeltaGetOldFileMethodInfo DiffDelta signature where
overloadedMethod = diffDeltaGetOldFile
#endif
foreign import ccall "ggit_diff_delta_get_similarity" ggit_diff_delta_get_similarity ::
Ptr DiffDelta ->
IO Word32
diffDeltaGetSimilarity ::
(B.CallStack.HasCallStack, MonadIO m) =>
DiffDelta
-> m Word32
diffDeltaGetSimilarity delta = liftIO $ do
delta' <- unsafeManagedPtrGetPtr delta
result <- ggit_diff_delta_get_similarity delta'
touchManagedPtr delta
return result
#if defined(ENABLE_OVERLOADING)
data DiffDeltaGetSimilarityMethodInfo
instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo DiffDeltaGetSimilarityMethodInfo DiffDelta signature where
overloadedMethod = diffDeltaGetSimilarity
#endif
foreign import ccall "ggit_diff_delta_get_status" ggit_diff_delta_get_status ::
Ptr DiffDelta ->
IO CUInt
diffDeltaGetStatus ::
(B.CallStack.HasCallStack, MonadIO m) =>
DiffDelta
-> m Ggit.Enums.DeltaType
diffDeltaGetStatus delta = liftIO $ do
delta' <- unsafeManagedPtrGetPtr delta
result <- ggit_diff_delta_get_status delta'
let result' = (toEnum . fromIntegral) result
touchManagedPtr delta
return result'
#if defined(ENABLE_OVERLOADING)
data DiffDeltaGetStatusMethodInfo
instance (signature ~ (m Ggit.Enums.DeltaType), MonadIO m) => O.MethodInfo DiffDeltaGetStatusMethodInfo DiffDelta signature where
overloadedMethod = diffDeltaGetStatus
#endif
foreign import ccall "ggit_diff_delta_ref" ggit_diff_delta_ref ::
Ptr DiffDelta ->
IO (Ptr DiffDelta)
diffDeltaRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
DiffDelta
-> m (Maybe DiffDelta)
diffDeltaRef delta = liftIO $ do
delta' <- unsafeManagedPtrGetPtr delta
result <- ggit_diff_delta_ref delta'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newBoxed DiffDelta) result'
return result''
touchManagedPtr delta
return maybeResult
#if defined(ENABLE_OVERLOADING)
data DiffDeltaRefMethodInfo
instance (signature ~ (m (Maybe DiffDelta)), MonadIO m) => O.MethodInfo DiffDeltaRefMethodInfo DiffDelta signature where
overloadedMethod = diffDeltaRef
#endif
foreign import ccall "ggit_diff_delta_unref" ggit_diff_delta_unref ::
Ptr DiffDelta ->
IO ()
diffDeltaUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
DiffDelta
-> m ()
diffDeltaUnref delta = liftIO $ do
delta' <- unsafeManagedPtrGetPtr delta
ggit_diff_delta_unref delta'
touchManagedPtr delta
return ()
#if defined(ENABLE_OVERLOADING)
data DiffDeltaUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DiffDeltaUnrefMethodInfo DiffDelta signature where
overloadedMethod = diffDeltaUnref
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveDiffDeltaMethod (t :: Symbol) (o :: *) :: * where
ResolveDiffDeltaMethod "ref" o = DiffDeltaRefMethodInfo
ResolveDiffDeltaMethod "unref" o = DiffDeltaUnrefMethodInfo
ResolveDiffDeltaMethod "getFlags" o = DiffDeltaGetFlagsMethodInfo
ResolveDiffDeltaMethod "getNewFile" o = DiffDeltaGetNewFileMethodInfo
ResolveDiffDeltaMethod "getOldFile" o = DiffDeltaGetOldFileMethodInfo
ResolveDiffDeltaMethod "getSimilarity" o = DiffDeltaGetSimilarityMethodInfo
ResolveDiffDeltaMethod "getStatus" o = DiffDeltaGetStatusMethodInfo
ResolveDiffDeltaMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDiffDeltaMethod t DiffDelta, O.MethodInfo info DiffDelta p) => OL.IsLabel t (DiffDelta -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif