#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Ggit.Structs.DiffDelta
(
DiffDelta(..) ,
noDiffDelta ,
#if ENABLE_OVERLOADING
DiffDeltaGetFlagsMethodInfo ,
#endif
diffDeltaGetFlags ,
#if ENABLE_OVERLOADING
DiffDeltaGetNewFileMethodInfo ,
#endif
diffDeltaGetNewFile ,
#if ENABLE_OVERLOADING
DiffDeltaGetOldFileMethodInfo ,
#endif
diffDeltaGetOldFile ,
#if ENABLE_OVERLOADING
DiffDeltaGetSimilarityMethodInfo ,
#endif
diffDeltaGetSimilarity ,
#if ENABLE_OVERLOADING
DiffDeltaGetStatusMethodInfo ,
#endif
diffDeltaGetStatus ,
#if ENABLE_OVERLOADING
DiffDeltaRefMethodInfo ,
#endif
diffDeltaRef ,
#if 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.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)
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
noDiffDelta :: Maybe DiffDelta
noDiffDelta = Nothing
#if 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 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 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 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 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 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 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 ENABLE_OVERLOADING
data DiffDeltaUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DiffDeltaUnrefMethodInfo DiffDelta signature where
overloadedMethod _ = diffDeltaUnref
#endif
#if 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 (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif