{- | 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 resolve undo entries in an index object. -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.Ggit.Structs.IndexEntriesResolveUndo ( -- * Exported types IndexEntriesResolveUndo(..) , noIndexEntriesResolveUndo , -- * Methods -- ** get #method:get# #if ENABLE_OVERLOADING IndexEntriesResolveUndoGetMethodInfo , #endif indexEntriesResolveUndoGet , -- ** getByFile #method:getByFile# #if ENABLE_OVERLOADING IndexEntriesResolveUndoGetByFileMethodInfo, #endif indexEntriesResolveUndoGetByFile , -- ** ref #method:ref# #if ENABLE_OVERLOADING IndexEntriesResolveUndoRefMethodInfo , #endif indexEntriesResolveUndoRef , -- ** size #method:size# #if ENABLE_OVERLOADING IndexEntriesResolveUndoSizeMethodInfo , #endif indexEntriesResolveUndoSize , -- ** unref #method:unref# #if ENABLE_OVERLOADING IndexEntriesResolveUndoUnrefMethodInfo , #endif indexEntriesResolveUndoUnref , ) 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.Structs.IndexEntryResolveUndo as Ggit.IndexEntryResolveUndo import qualified GI.Gio.Interfaces.File as Gio.File -- | Memory-managed wrapper type. newtype IndexEntriesResolveUndo = IndexEntriesResolveUndo (ManagedPtr IndexEntriesResolveUndo) foreign import ccall "ggit_index_entries_resolve_undo_get_type" c_ggit_index_entries_resolve_undo_get_type :: IO GType instance BoxedObject IndexEntriesResolveUndo where boxedType _ = c_ggit_index_entries_resolve_undo_get_type -- | A convenience alias for `Nothing` :: `Maybe` `IndexEntriesResolveUndo`. noIndexEntriesResolveUndo :: Maybe IndexEntriesResolveUndo noIndexEntriesResolveUndo = Nothing #if ENABLE_OVERLOADING instance O.HasAttributeList IndexEntriesResolveUndo type instance O.AttributeList IndexEntriesResolveUndo = IndexEntriesResolveUndoAttributeList type IndexEntriesResolveUndoAttributeList = ('[ ] :: [(Symbol, *)]) #endif -- method IndexEntriesResolveUndo::get -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entries", argType = TInterface (Name {namespace = "Ggit", name = "IndexEntriesResolveUndo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitIndexEntriesResolveUndo.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the entry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Ggit", name = "IndexEntryResolveUndo"})) -- throws : False -- Skip return : False foreign import ccall "ggit_index_entries_resolve_undo_get" ggit_index_entries_resolve_undo_get :: Ptr IndexEntriesResolveUndo -> -- entries : TInterface (Name {namespace = "Ggit", name = "IndexEntriesResolveUndo"}) Word32 -> -- idx : TBasicType TUInt IO (Ptr Ggit.IndexEntryResolveUndo.IndexEntryResolveUndo) {- | Get a 'GI.Ggit.Structs.IndexEntryResolveUndo.IndexEntryResolveUndo' by index. Note that the returned 'GI.Ggit.Structs.IndexEntryResolveUndo.IndexEntryResolveUndo' is _only_ valid as long as: 1) The associated index has been closed 2) The entry has not been removed (see 'GI.Ggit.Objects.Index.indexRemove') 3) The index has not been refreshed (see 'GI.Ggit.Objects.Index.indexRead') -} indexEntriesResolveUndoGet :: (B.CallStack.HasCallStack, MonadIO m) => IndexEntriesResolveUndo {- ^ /@entries@/: a 'GI.Ggit.Structs.IndexEntriesResolveUndo.IndexEntriesResolveUndo'. -} -> Word32 {- ^ /@idx@/: the index of the entry. -} -> m (Maybe Ggit.IndexEntryResolveUndo.IndexEntryResolveUndo) {- ^ __Returns:__ a 'GI.Ggit.Structs.IndexEntryResolveUndo.IndexEntryResolveUndo' or 'Nothing'. -} indexEntriesResolveUndoGet entries idx = liftIO $ do entries' <- unsafeManagedPtrGetPtr entries result <- ggit_index_entries_resolve_undo_get entries' idx maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (wrapBoxed Ggit.IndexEntryResolveUndo.IndexEntryResolveUndo) result' return result'' touchManagedPtr entries return maybeResult #if ENABLE_OVERLOADING data IndexEntriesResolveUndoGetMethodInfo instance (signature ~ (Word32 -> m (Maybe Ggit.IndexEntryResolveUndo.IndexEntryResolveUndo)), MonadIO m) => O.MethodInfo IndexEntriesResolveUndoGetMethodInfo IndexEntriesResolveUndo signature where overloadedMethod _ = indexEntriesResolveUndoGet #endif -- method IndexEntriesResolveUndo::get_by_file -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entries", argType = TInterface (Name {namespace = "Ggit", name = "IndexEntriesResolveUndo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitIndexEntriesResolveUndo.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GFile.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Ggit", name = "IndexEntryResolveUndo"})) -- throws : False -- Skip return : False foreign import ccall "ggit_index_entries_resolve_undo_get_by_file" ggit_index_entries_resolve_undo_get_by_file :: Ptr IndexEntriesResolveUndo -> -- entries : TInterface (Name {namespace = "Ggit", name = "IndexEntriesResolveUndo"}) Ptr Gio.File.File -> -- file : TInterface (Name {namespace = "Gio", name = "File"}) IO (Ptr Ggit.IndexEntryResolveUndo.IndexEntryResolveUndo) {- | Get an resolve_undo entry specified by path. The returned entry is read only and should not be modified by the caller. If the entry could not be found, 'Nothing' is returned. -} indexEntriesResolveUndoGetByFile :: (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a) => IndexEntriesResolveUndo {- ^ /@entries@/: a 'GI.Ggit.Structs.IndexEntriesResolveUndo.IndexEntriesResolveUndo'. -} -> a {- ^ /@file@/: a 'GI.Gio.Interfaces.File.File'. -} -> m (Maybe Ggit.IndexEntryResolveUndo.IndexEntryResolveUndo) {- ^ __Returns:__ a 'GI.Ggit.Structs.IndexEntryResolveUndo.IndexEntryResolveUndo' or 'Nothing'. -} indexEntriesResolveUndoGetByFile entries file = liftIO $ do entries' <- unsafeManagedPtrGetPtr entries file' <- unsafeManagedPtrCastPtr file result <- ggit_index_entries_resolve_undo_get_by_file entries' file' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (wrapBoxed Ggit.IndexEntryResolveUndo.IndexEntryResolveUndo) result' return result'' touchManagedPtr entries touchManagedPtr file return maybeResult #if ENABLE_OVERLOADING data IndexEntriesResolveUndoGetByFileMethodInfo instance (signature ~ (a -> m (Maybe Ggit.IndexEntryResolveUndo.IndexEntryResolveUndo)), MonadIO m, Gio.File.IsFile a) => O.MethodInfo IndexEntriesResolveUndoGetByFileMethodInfo IndexEntriesResolveUndo signature where overloadedMethod _ = indexEntriesResolveUndoGetByFile #endif -- method IndexEntriesResolveUndo::ref -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entries", argType = TInterface (Name {namespace = "Ggit", name = "IndexEntriesResolveUndo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitIndexEntriesResolveUndo.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Ggit", name = "IndexEntriesResolveUndo"})) -- throws : False -- Skip return : False foreign import ccall "ggit_index_entries_resolve_undo_ref" ggit_index_entries_resolve_undo_ref :: Ptr IndexEntriesResolveUndo -> -- entries : TInterface (Name {namespace = "Ggit", name = "IndexEntriesResolveUndo"}) IO (Ptr IndexEntriesResolveUndo) {- | Atomically increments the reference count of /@entries@/ by one. This function is MT-safe and may be called from any thread. -} indexEntriesResolveUndoRef :: (B.CallStack.HasCallStack, MonadIO m) => IndexEntriesResolveUndo {- ^ /@entries@/: a 'GI.Ggit.Structs.IndexEntriesResolveUndo.IndexEntriesResolveUndo'. -} -> m (Maybe IndexEntriesResolveUndo) {- ^ __Returns:__ a 'GI.Ggit.Structs.IndexEntriesResolveUndo.IndexEntriesResolveUndo' or 'Nothing'. -} indexEntriesResolveUndoRef entries = liftIO $ do entries' <- unsafeManagedPtrGetPtr entries result <- ggit_index_entries_resolve_undo_ref entries' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newBoxed IndexEntriesResolveUndo) result' return result'' touchManagedPtr entries return maybeResult #if ENABLE_OVERLOADING data IndexEntriesResolveUndoRefMethodInfo instance (signature ~ (m (Maybe IndexEntriesResolveUndo)), MonadIO m) => O.MethodInfo IndexEntriesResolveUndoRefMethodInfo IndexEntriesResolveUndo signature where overloadedMethod _ = indexEntriesResolveUndoRef #endif -- method IndexEntriesResolveUndo::size -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entries", argType = TInterface (Name {namespace = "Ggit", name = "IndexEntriesResolveUndo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitIndexEntriesResolveUndo.", 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_index_entries_resolve_undo_size" ggit_index_entries_resolve_undo_size :: Ptr IndexEntriesResolveUndo -> -- entries : TInterface (Name {namespace = "Ggit", name = "IndexEntriesResolveUndo"}) IO Word32 {- | Get the number of 'GI.Ggit.Structs.IndexEntryResolveUndo.IndexEntryResolveUndo' entries. -} indexEntriesResolveUndoSize :: (B.CallStack.HasCallStack, MonadIO m) => IndexEntriesResolveUndo {- ^ /@entries@/: a 'GI.Ggit.Structs.IndexEntriesResolveUndo.IndexEntriesResolveUndo'. -} -> m Word32 {- ^ __Returns:__ the number of entries. -} indexEntriesResolveUndoSize entries = liftIO $ do entries' <- unsafeManagedPtrGetPtr entries result <- ggit_index_entries_resolve_undo_size entries' touchManagedPtr entries return result #if ENABLE_OVERLOADING data IndexEntriesResolveUndoSizeMethodInfo instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo IndexEntriesResolveUndoSizeMethodInfo IndexEntriesResolveUndo signature where overloadedMethod _ = indexEntriesResolveUndoSize #endif -- method IndexEntriesResolveUndo::unref -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entries", argType = TInterface (Name {namespace = "Ggit", name = "IndexEntriesResolveUndo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitIndexEntriesResolveUndo.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "ggit_index_entries_resolve_undo_unref" ggit_index_entries_resolve_undo_unref :: Ptr IndexEntriesResolveUndo -> -- entries : TInterface (Name {namespace = "Ggit", name = "IndexEntriesResolveUndo"}) IO () {- | Atomically decrements the reference count of /@entries@/ by one. If the reference count drops to 0, /@entries@/ is freed. -} indexEntriesResolveUndoUnref :: (B.CallStack.HasCallStack, MonadIO m) => IndexEntriesResolveUndo {- ^ /@entries@/: a 'GI.Ggit.Structs.IndexEntriesResolveUndo.IndexEntriesResolveUndo'. -} -> m () indexEntriesResolveUndoUnref entries = liftIO $ do entries' <- unsafeManagedPtrGetPtr entries ggit_index_entries_resolve_undo_unref entries' touchManagedPtr entries return () #if ENABLE_OVERLOADING data IndexEntriesResolveUndoUnrefMethodInfo instance (signature ~ (m ()), MonadIO m) => O.MethodInfo IndexEntriesResolveUndoUnrefMethodInfo IndexEntriesResolveUndo signature where overloadedMethod _ = indexEntriesResolveUndoUnref #endif #if ENABLE_OVERLOADING type family ResolveIndexEntriesResolveUndoMethod (t :: Symbol) (o :: *) :: * where ResolveIndexEntriesResolveUndoMethod "get" o = IndexEntriesResolveUndoGetMethodInfo ResolveIndexEntriesResolveUndoMethod "ref" o = IndexEntriesResolveUndoRefMethodInfo ResolveIndexEntriesResolveUndoMethod "size" o = IndexEntriesResolveUndoSizeMethodInfo ResolveIndexEntriesResolveUndoMethod "unref" o = IndexEntriesResolveUndoUnrefMethodInfo ResolveIndexEntriesResolveUndoMethod "getByFile" o = IndexEntriesResolveUndoGetByFileMethodInfo ResolveIndexEntriesResolveUndoMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveIndexEntriesResolveUndoMethod t IndexEntriesResolveUndo, O.MethodInfo info IndexEntriesResolveUndo p) => OL.IsLabel t (IndexEntriesResolveUndo -> 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