{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) Represents the options used when merging. -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.Ggit.Structs.MergeOptions ( -- * Exported types MergeOptions(..) , noMergeOptions , -- * Methods -- ** copy #method:copy# #if ENABLE_OVERLOADING MergeOptionsCopyMethodInfo , #endif mergeOptionsCopy , -- ** free #method:free# #if ENABLE_OVERLOADING MergeOptionsFreeMethodInfo , #endif mergeOptionsFree , -- ** getFileFavor #method:getFileFavor# #if ENABLE_OVERLOADING MergeOptionsGetFileFavorMethodInfo , #endif mergeOptionsGetFileFavor , -- ** getFileFlags #method:getFileFlags# #if ENABLE_OVERLOADING MergeOptionsGetFileFlagsMethodInfo , #endif mergeOptionsGetFileFlags , -- ** getFlags #method:getFlags# #if ENABLE_OVERLOADING MergeOptionsGetFlagsMethodInfo , #endif mergeOptionsGetFlags , -- ** getRenameThreshold #method:getRenameThreshold# #if ENABLE_OVERLOADING MergeOptionsGetRenameThresholdMethodInfo, #endif mergeOptionsGetRenameThreshold , -- ** getSimilarityMetric #method:getSimilarityMetric# #if ENABLE_OVERLOADING MergeOptionsGetSimilarityMetricMethodInfo, #endif mergeOptionsGetSimilarityMetric , -- ** getTargetLimit #method:getTargetLimit# #if ENABLE_OVERLOADING MergeOptionsGetTargetLimitMethodInfo , #endif mergeOptionsGetTargetLimit , -- ** new #method:new# mergeOptionsNew , -- ** setFileFavor #method:setFileFavor# #if ENABLE_OVERLOADING MergeOptionsSetFileFavorMethodInfo , #endif mergeOptionsSetFileFavor , -- ** setFileFlags #method:setFileFlags# #if ENABLE_OVERLOADING MergeOptionsSetFileFlagsMethodInfo , #endif mergeOptionsSetFileFlags , -- ** setFlags #method:setFlags# #if ENABLE_OVERLOADING MergeOptionsSetFlagsMethodInfo , #endif mergeOptionsSetFlags , -- ** setRenameThreshold #method:setRenameThreshold# #if ENABLE_OVERLOADING MergeOptionsSetRenameThresholdMethodInfo, #endif mergeOptionsSetRenameThreshold , -- ** setSimilarityMetric #method:setSimilarityMetric# #if ENABLE_OVERLOADING MergeOptionsSetSimilarityMetricMethodInfo, #endif mergeOptionsSetSimilarityMetric , -- ** setTargetLimit #method:setTargetLimit# #if ENABLE_OVERLOADING MergeOptionsSetTargetLimitMethodInfo , #endif mergeOptionsSetTargetLimit , ) 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.DiffSimilarityMetric as Ggit.DiffSimilarityMetric -- | Memory-managed wrapper type. newtype MergeOptions = MergeOptions (ManagedPtr MergeOptions) foreign import ccall "ggit_merge_options_get_type" c_ggit_merge_options_get_type :: IO GType instance BoxedObject MergeOptions where boxedType _ = c_ggit_merge_options_get_type -- | A convenience alias for `Nothing` :: `Maybe` `MergeOptions`. noMergeOptions :: Maybe MergeOptions noMergeOptions = Nothing #if ENABLE_OVERLOADING instance O.HasAttributeList MergeOptions type instance O.AttributeList MergeOptions = MergeOptionsAttributeList type MergeOptionsAttributeList = ('[ ] :: [(Symbol, *)]) #endif -- method MergeOptions::new -- method type : Constructor -- Args : [] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Ggit", name = "MergeOptions"})) -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_new" ggit_merge_options_new :: IO (Ptr MergeOptions) {- | Creates a new 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} mergeOptionsNew :: (B.CallStack.HasCallStack, MonadIO m) => m MergeOptions {- ^ __Returns:__ a newly allocated 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} mergeOptionsNew = liftIO $ do result <- ggit_merge_options_new checkUnexpectedReturnNULL "mergeOptionsNew" result result' <- (wrapBoxed MergeOptions) result return result' #if ENABLE_OVERLOADING #endif -- method MergeOptions::copy -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Ggit", name = "MergeOptions"})) -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_copy" ggit_merge_options_copy :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) IO (Ptr MergeOptions) {- | Copies /@mergeOptions@/ into a newly allocated 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} mergeOptionsCopy :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> m (Maybe MergeOptions) {- ^ __Returns:__ a newly allocated 'GI.Ggit.Structs.MergeOptions.MergeOptions' or 'Nothing'. -} mergeOptionsCopy mergeOptions = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions result <- ggit_merge_options_copy mergeOptions' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (wrapBoxed MergeOptions) result' return result'' touchManagedPtr mergeOptions return maybeResult #if ENABLE_OVERLOADING data MergeOptionsCopyMethodInfo instance (signature ~ (m (Maybe MergeOptions)), MonadIO m) => O.MethodInfo MergeOptionsCopyMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsCopy #endif -- method MergeOptions::free -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_free" ggit_merge_options_free :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) IO () {- | Frees /@mergeOptions@/. -} mergeOptionsFree :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> m () mergeOptionsFree mergeOptions = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions ggit_merge_options_free mergeOptions' touchManagedPtr mergeOptions return () #if ENABLE_OVERLOADING data MergeOptionsFreeMethodInfo instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MergeOptionsFreeMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsFree #endif -- method MergeOptions::get_file_favor -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Ggit", name = "MergeFileFavor"})) -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_get_file_favor" ggit_merge_options_get_file_favor :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) IO CUInt {- | Get flags for handling conflicting content. -} mergeOptionsGetFileFavor :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> m Ggit.Enums.MergeFileFavor {- ^ __Returns:__ the file favor. -} mergeOptionsGetFileFavor mergeOptions = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions result <- ggit_merge_options_get_file_favor mergeOptions' let result' = (toEnum . fromIntegral) result touchManagedPtr mergeOptions return result' #if ENABLE_OVERLOADING data MergeOptionsGetFileFavorMethodInfo instance (signature ~ (m Ggit.Enums.MergeFileFavor), MonadIO m) => O.MethodInfo MergeOptionsGetFileFavorMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsGetFileFavor #endif -- method MergeOptions::get_file_flags -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Ggit", name = "MergeFileFlags"})) -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_get_file_flags" ggit_merge_options_get_file_flags :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) IO CUInt {- | Get file merging flags. -} mergeOptionsGetFileFlags :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> m [Ggit.Flags.MergeFileFlags] {- ^ __Returns:__ the file merging flags. -} mergeOptionsGetFileFlags mergeOptions = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions result <- ggit_merge_options_get_file_flags mergeOptions' let result' = wordToGFlags result touchManagedPtr mergeOptions return result' #if ENABLE_OVERLOADING data MergeOptionsGetFileFlagsMethodInfo instance (signature ~ (m [Ggit.Flags.MergeFileFlags]), MonadIO m) => O.MethodInfo MergeOptionsGetFileFlagsMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsGetFileFlags #endif -- method MergeOptions::get_flags -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Ggit", name = "MergeFlags"})) -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_get_flags" ggit_merge_options_get_flags :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) IO CUInt {- | Get the tree flags to use for merging. -} mergeOptionsGetFlags :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> m [Ggit.Flags.MergeFlags] {- ^ __Returns:__ the flags. -} mergeOptionsGetFlags mergeOptions = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions result <- ggit_merge_options_get_flags mergeOptions' let result' = wordToGFlags result touchManagedPtr mergeOptions return result' #if ENABLE_OVERLOADING data MergeOptionsGetFlagsMethodInfo instance (signature ~ (m [Ggit.Flags.MergeFlags]), MonadIO m) => O.MethodInfo MergeOptionsGetFlagsMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsGetFlags #endif -- method MergeOptions::get_rename_threshold -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUInt) -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_get_rename_threshold" ggit_merge_options_get_rename_threshold :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) IO Word32 {- | Get the rename threshold (defaults to 50). If @/GGIT_MERGE_TREE_FIND_RENAMES/@ is enabled, added files will be compared with deleted files to determine their similarity. Files that are more similar than the rename threshold (percentage-wise) will be treated as a rename. -} mergeOptionsGetRenameThreshold :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> m Word32 {- ^ __Returns:__ the rename threshold. -} mergeOptionsGetRenameThreshold mergeOptions = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions result <- ggit_merge_options_get_rename_threshold mergeOptions' touchManagedPtr mergeOptions return result #if ENABLE_OVERLOADING data MergeOptionsGetRenameThresholdMethodInfo instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo MergeOptionsGetRenameThresholdMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsGetRenameThreshold #endif -- method MergeOptions::get_similarity_metric -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Ggit", name = "DiffSimilarityMetric"})) -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_get_similarity_metric" ggit_merge_options_get_similarity_metric :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) IO (Ptr Ggit.DiffSimilarityMetric.DiffSimilarityMetric) {- | Get the similarity metric. -} mergeOptionsGetSimilarityMetric :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> m (Maybe Ggit.DiffSimilarityMetric.DiffSimilarityMetric) {- ^ __Returns:__ the similarity metric, or 'Nothing'. -} mergeOptionsGetSimilarityMetric mergeOptions = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions result <- ggit_merge_options_get_similarity_metric mergeOptions' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newBoxed Ggit.DiffSimilarityMetric.DiffSimilarityMetric) result' return result'' touchManagedPtr mergeOptions return maybeResult #if ENABLE_OVERLOADING data MergeOptionsGetSimilarityMetricMethodInfo instance (signature ~ (m (Maybe Ggit.DiffSimilarityMetric.DiffSimilarityMetric)), MonadIO m) => O.MethodInfo MergeOptionsGetSimilarityMetricMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsGetSimilarityMetric #endif -- method MergeOptions::get_target_limit -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUInt) -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_get_target_limit" ggit_merge_options_get_target_limit :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) IO Word32 {- | Get the maximum number of similarity sources to examine for renames (defaults to 200). If the number of rename candidates (add \/ delete pairs) is greater than this value, inexact rename detection is aborted. -} mergeOptionsGetTargetLimit :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> m Word32 {- ^ __Returns:__ the target limit. -} mergeOptionsGetTargetLimit mergeOptions = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions result <- ggit_merge_options_get_target_limit mergeOptions' touchManagedPtr mergeOptions return result #if ENABLE_OVERLOADING data MergeOptionsGetTargetLimitMethodInfo instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo MergeOptionsGetTargetLimitMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsGetTargetLimit #endif -- method MergeOptions::set_file_favor -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_favor", argType = TInterface (Name {namespace = "Ggit", name = "MergeFileFavor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the file favor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_set_file_favor" ggit_merge_options_set_file_favor :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) CUInt -> -- file_favor : TInterface (Name {namespace = "Ggit", name = "MergeFileFavor"}) IO () {- | Set flags for handling conflicting content. -} mergeOptionsSetFileFavor :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> Ggit.Enums.MergeFileFavor {- ^ /@fileFavor@/: the file favor. -} -> m () mergeOptionsSetFileFavor mergeOptions fileFavor = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions let fileFavor' = (fromIntegral . fromEnum) fileFavor ggit_merge_options_set_file_favor mergeOptions' fileFavor' touchManagedPtr mergeOptions return () #if ENABLE_OVERLOADING data MergeOptionsSetFileFavorMethodInfo instance (signature ~ (Ggit.Enums.MergeFileFavor -> m ()), MonadIO m) => O.MethodInfo MergeOptionsSetFileFavorMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsSetFileFavor #endif -- method MergeOptions::set_file_flags -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_flags", argType = TInterface (Name {namespace = "Ggit", name = "MergeFileFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the file flags.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_set_file_flags" ggit_merge_options_set_file_flags :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) CUInt -> -- file_flags : TInterface (Name {namespace = "Ggit", name = "MergeFileFlags"}) IO () {- | Set file merging flags. -} mergeOptionsSetFileFlags :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> [Ggit.Flags.MergeFileFlags] {- ^ /@fileFlags@/: the file flags. -} -> m () mergeOptionsSetFileFlags mergeOptions fileFlags = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions let fileFlags' = gflagsToWord fileFlags ggit_merge_options_set_file_flags mergeOptions' fileFlags' touchManagedPtr mergeOptions return () #if ENABLE_OVERLOADING data MergeOptionsSetFileFlagsMethodInfo instance (signature ~ ([Ggit.Flags.MergeFileFlags] -> m ()), MonadIO m) => O.MethodInfo MergeOptionsSetFileFlagsMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsSetFileFlags #endif -- method MergeOptions::set_flags -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Ggit", name = "MergeFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_set_flags" ggit_merge_options_set_flags :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) CUInt -> -- flags : TInterface (Name {namespace = "Ggit", name = "MergeFlags"}) IO () {- | /No description available in the introspection data./ -} mergeOptionsSetFlags :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions -> [Ggit.Flags.MergeFlags] -> m () mergeOptionsSetFlags mergeOptions flags = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions let flags' = gflagsToWord flags ggit_merge_options_set_flags mergeOptions' flags' touchManagedPtr mergeOptions return () #if ENABLE_OVERLOADING data MergeOptionsSetFlagsMethodInfo instance (signature ~ ([Ggit.Flags.MergeFlags] -> m ()), MonadIO m) => O.MethodInfo MergeOptionsSetFlagsMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsSetFlags #endif -- method MergeOptions::set_rename_threshold -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rename_threshold", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "similarity to consider a file renamed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_set_rename_threshold" ggit_merge_options_set_rename_threshold :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) Word32 -> -- rename_threshold : TBasicType TUInt IO () {- | Set the rename threshold (defaults to 50). If @/GGIT_MERGE_TREE_FIND_RENAMES/@ is enabled, added files will be compared with deleted files to determine their similarity. Files that are more similar than the rename threshold (percentage-wise) will be treated as a rename. -} mergeOptionsSetRenameThreshold :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> Word32 {- ^ /@renameThreshold@/: similarity to consider a file renamed. -} -> m () mergeOptionsSetRenameThreshold mergeOptions renameThreshold = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions ggit_merge_options_set_rename_threshold mergeOptions' renameThreshold touchManagedPtr mergeOptions return () #if ENABLE_OVERLOADING data MergeOptionsSetRenameThresholdMethodInfo instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo MergeOptionsSetRenameThresholdMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsSetRenameThreshold #endif -- method MergeOptions::set_similarity_metric -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "metric", argType = TInterface (Name {namespace = "Ggit", name = "DiffSimilarityMetric"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitSimilarityMetric.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_set_similarity_metric" ggit_merge_options_set_similarity_metric :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) Ptr Ggit.DiffSimilarityMetric.DiffSimilarityMetric -> -- metric : TInterface (Name {namespace = "Ggit", name = "DiffSimilarityMetric"}) IO () {- | Set the similarity metric, or 'Nothing' for the default similarity metric. -} mergeOptionsSetSimilarityMetric :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> Ggit.DiffSimilarityMetric.DiffSimilarityMetric {- ^ /@metric@/: a @/GgitSimilarityMetric/@. -} -> m () mergeOptionsSetSimilarityMetric mergeOptions metric = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions metric' <- unsafeManagedPtrGetPtr metric ggit_merge_options_set_similarity_metric mergeOptions' metric' touchManagedPtr mergeOptions touchManagedPtr metric return () #if ENABLE_OVERLOADING data MergeOptionsSetSimilarityMetricMethodInfo instance (signature ~ (Ggit.DiffSimilarityMetric.DiffSimilarityMetric -> m ()), MonadIO m) => O.MethodInfo MergeOptionsSetSimilarityMetricMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsSetSimilarityMetric #endif -- method MergeOptions::set_target_limit -- method type : OrdinaryMethod -- Args : [Arg {argCName = "merge_options", argType = TInterface (Name {namespace = "Ggit", name = "MergeOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitMergeOptions.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_limit", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum similarity source to examine for renames.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "ggit_merge_options_set_target_limit" ggit_merge_options_set_target_limit :: Ptr MergeOptions -> -- merge_options : TInterface (Name {namespace = "Ggit", name = "MergeOptions"}) Word32 -> -- target_limit : TBasicType TUInt IO () {- | Set the maximum number of similarity sources to examine for renames (defaults to 200). If the number of rename candidates (add \/ delete pairs) is greater than this value, inexact rename detection is aborted. -} mergeOptionsSetTargetLimit :: (B.CallStack.HasCallStack, MonadIO m) => MergeOptions {- ^ /@mergeOptions@/: a 'GI.Ggit.Structs.MergeOptions.MergeOptions'. -} -> Word32 {- ^ /@targetLimit@/: maximum similarity source to examine for renames. -} -> m () mergeOptionsSetTargetLimit mergeOptions targetLimit = liftIO $ do mergeOptions' <- unsafeManagedPtrGetPtr mergeOptions ggit_merge_options_set_target_limit mergeOptions' targetLimit touchManagedPtr mergeOptions return () #if ENABLE_OVERLOADING data MergeOptionsSetTargetLimitMethodInfo instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo MergeOptionsSetTargetLimitMethodInfo MergeOptions signature where overloadedMethod _ = mergeOptionsSetTargetLimit #endif #if ENABLE_OVERLOADING type family ResolveMergeOptionsMethod (t :: Symbol) (o :: *) :: * where ResolveMergeOptionsMethod "copy" o = MergeOptionsCopyMethodInfo ResolveMergeOptionsMethod "free" o = MergeOptionsFreeMethodInfo ResolveMergeOptionsMethod "getFileFavor" o = MergeOptionsGetFileFavorMethodInfo ResolveMergeOptionsMethod "getFileFlags" o = MergeOptionsGetFileFlagsMethodInfo ResolveMergeOptionsMethod "getFlags" o = MergeOptionsGetFlagsMethodInfo ResolveMergeOptionsMethod "getRenameThreshold" o = MergeOptionsGetRenameThresholdMethodInfo ResolveMergeOptionsMethod "getSimilarityMetric" o = MergeOptionsGetSimilarityMetricMethodInfo ResolveMergeOptionsMethod "getTargetLimit" o = MergeOptionsGetTargetLimitMethodInfo ResolveMergeOptionsMethod "setFileFavor" o = MergeOptionsSetFileFavorMethodInfo ResolveMergeOptionsMethod "setFileFlags" o = MergeOptionsSetFileFlagsMethodInfo ResolveMergeOptionsMethod "setFlags" o = MergeOptionsSetFlagsMethodInfo ResolveMergeOptionsMethod "setRenameThreshold" o = MergeOptionsSetRenameThresholdMethodInfo ResolveMergeOptionsMethod "setSimilarityMetric" o = MergeOptionsSetSimilarityMetricMethodInfo ResolveMergeOptionsMethod "setTargetLimit" o = MergeOptionsSetTargetLimitMethodInfo ResolveMergeOptionsMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveMergeOptionsMethod t MergeOptions, O.MethodInfo info MergeOptions p) => OL.IsLabel t (MergeOptions -> 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