gi-ggit-1.0.4: GI/Ggit/Structs/ReflogEntry.hs
{- |
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 a reflog entry.
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Ggit.Structs.ReflogEntry
(
-- * Exported types
ReflogEntry(..) ,
noReflogEntry ,
-- * Methods
-- ** getCommitter #method:getCommitter#
#if ENABLE_OVERLOADING
ReflogEntryGetCommitterMethodInfo ,
#endif
reflogEntryGetCommitter ,
-- ** getMessage #method:getMessage#
#if ENABLE_OVERLOADING
ReflogEntryGetMessageMethodInfo ,
#endif
reflogEntryGetMessage ,
-- ** getNewId #method:getNewId#
#if ENABLE_OVERLOADING
ReflogEntryGetNewIdMethodInfo ,
#endif
reflogEntryGetNewId ,
-- ** getOldId #method:getOldId#
#if ENABLE_OVERLOADING
ReflogEntryGetOldIdMethodInfo ,
#endif
reflogEntryGetOldId ,
-- ** ref #method:ref#
#if ENABLE_OVERLOADING
ReflogEntryRefMethodInfo ,
#endif
reflogEntryRef ,
-- ** unref #method:unref#
#if ENABLE_OVERLOADING
ReflogEntryUnrefMethodInfo ,
#endif
reflogEntryUnref ,
) 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.Objects.Signature as Ggit.Signature
import {-# SOURCE #-} qualified GI.Ggit.Structs.OId as Ggit.OId
-- | Memory-managed wrapper type.
newtype ReflogEntry = ReflogEntry (ManagedPtr ReflogEntry)
foreign import ccall "ggit_reflog_entry_get_type" c_ggit_reflog_entry_get_type ::
IO GType
instance BoxedObject ReflogEntry where
boxedType _ = c_ggit_reflog_entry_get_type
-- | A convenience alias for `Nothing` :: `Maybe` `ReflogEntry`.
noReflogEntry :: Maybe ReflogEntry
noReflogEntry = Nothing
#if ENABLE_OVERLOADING
instance O.HasAttributeList ReflogEntry
type instance O.AttributeList ReflogEntry = ReflogEntryAttributeList
type ReflogEntryAttributeList = ('[ ] :: [(Symbol, *)])
#endif
-- method ReflogEntry::get_committer
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "reflog_entry", argType = TInterface (Name {namespace = "Ggit", name = "ReflogEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitReflogEntry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Ggit", name = "Signature"}))
-- throws : False
-- Skip return : False
foreign import ccall "ggit_reflog_entry_get_committer" ggit_reflog_entry_get_committer ::
Ptr ReflogEntry -> -- reflog_entry : TInterface (Name {namespace = "Ggit", name = "ReflogEntry"})
IO (Ptr Ggit.Signature.Signature)
{- |
Gets the committer as a 'GI.Ggit.Objects.Signature.Signature'.
-}
reflogEntryGetCommitter ::
(B.CallStack.HasCallStack, MonadIO m) =>
ReflogEntry
{- ^ /@reflogEntry@/: a 'GI.Ggit.Structs.ReflogEntry.ReflogEntry'. -}
-> m (Maybe Ggit.Signature.Signature)
{- ^ __Returns:__ the committer or 'Nothing'. -}
reflogEntryGetCommitter reflogEntry = liftIO $ do
reflogEntry' <- unsafeManagedPtrGetPtr reflogEntry
result <- ggit_reflog_entry_get_committer reflogEntry'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newObject Ggit.Signature.Signature) result'
return result''
touchManagedPtr reflogEntry
return maybeResult
#if ENABLE_OVERLOADING
data ReflogEntryGetCommitterMethodInfo
instance (signature ~ (m (Maybe Ggit.Signature.Signature)), MonadIO m) => O.MethodInfo ReflogEntryGetCommitterMethodInfo ReflogEntry signature where
overloadedMethod _ = reflogEntryGetCommitter
#endif
-- method ReflogEntry::get_message
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "reflog_entry", argType = TInterface (Name {namespace = "Ggit", name = "ReflogEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitReflogEntry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "ggit_reflog_entry_get_message" ggit_reflog_entry_get_message ::
Ptr ReflogEntry -> -- reflog_entry : TInterface (Name {namespace = "Ggit", name = "ReflogEntry"})
IO CString
{- |
Gets the message.
-}
reflogEntryGetMessage ::
(B.CallStack.HasCallStack, MonadIO m) =>
ReflogEntry
{- ^ /@reflogEntry@/: a 'GI.Ggit.Structs.ReflogEntry.ReflogEntry'. -}
-> m (Maybe T.Text)
{- ^ __Returns:__ the message or 'Nothing'. -}
reflogEntryGetMessage reflogEntry = liftIO $ do
reflogEntry' <- unsafeManagedPtrGetPtr reflogEntry
result <- ggit_reflog_entry_get_message reflogEntry'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
return result''
touchManagedPtr reflogEntry
return maybeResult
#if ENABLE_OVERLOADING
data ReflogEntryGetMessageMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo ReflogEntryGetMessageMethodInfo ReflogEntry signature where
overloadedMethod _ = reflogEntryGetMessage
#endif
-- method ReflogEntry::get_new_id
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "reflog_entry", argType = TInterface (Name {namespace = "Ggit", name = "ReflogEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitReflogEntry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Ggit", name = "OId"}))
-- throws : False
-- Skip return : False
foreign import ccall "ggit_reflog_entry_get_new_id" ggit_reflog_entry_get_new_id ::
Ptr ReflogEntry -> -- reflog_entry : TInterface (Name {namespace = "Ggit", name = "ReflogEntry"})
IO (Ptr Ggit.OId.OId)
{- |
Gets the new 'GI.Ggit.Structs.OId.OId'.
-}
reflogEntryGetNewId ::
(B.CallStack.HasCallStack, MonadIO m) =>
ReflogEntry
{- ^ /@reflogEntry@/: a 'GI.Ggit.Structs.ReflogEntry.ReflogEntry'. -}
-> m (Maybe Ggit.OId.OId)
{- ^ __Returns:__ the new oid or 'Nothing'. -}
reflogEntryGetNewId reflogEntry = liftIO $ do
reflogEntry' <- unsafeManagedPtrGetPtr reflogEntry
result <- ggit_reflog_entry_get_new_id reflogEntry'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapBoxed Ggit.OId.OId) result'
return result''
touchManagedPtr reflogEntry
return maybeResult
#if ENABLE_OVERLOADING
data ReflogEntryGetNewIdMethodInfo
instance (signature ~ (m (Maybe Ggit.OId.OId)), MonadIO m) => O.MethodInfo ReflogEntryGetNewIdMethodInfo ReflogEntry signature where
overloadedMethod _ = reflogEntryGetNewId
#endif
-- method ReflogEntry::get_old_id
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "reflog_entry", argType = TInterface (Name {namespace = "Ggit", name = "ReflogEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitReflogEntry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Ggit", name = "OId"}))
-- throws : False
-- Skip return : False
foreign import ccall "ggit_reflog_entry_get_old_id" ggit_reflog_entry_get_old_id ::
Ptr ReflogEntry -> -- reflog_entry : TInterface (Name {namespace = "Ggit", name = "ReflogEntry"})
IO (Ptr Ggit.OId.OId)
{- |
Gets the old 'GI.Ggit.Structs.OId.OId'.
-}
reflogEntryGetOldId ::
(B.CallStack.HasCallStack, MonadIO m) =>
ReflogEntry
{- ^ /@reflogEntry@/: a 'GI.Ggit.Structs.ReflogEntry.ReflogEntry'. -}
-> m (Maybe Ggit.OId.OId)
{- ^ __Returns:__ the old oid or 'Nothing'. -}
reflogEntryGetOldId reflogEntry = liftIO $ do
reflogEntry' <- unsafeManagedPtrGetPtr reflogEntry
result <- ggit_reflog_entry_get_old_id reflogEntry'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapBoxed Ggit.OId.OId) result'
return result''
touchManagedPtr reflogEntry
return maybeResult
#if ENABLE_OVERLOADING
data ReflogEntryGetOldIdMethodInfo
instance (signature ~ (m (Maybe Ggit.OId.OId)), MonadIO m) => O.MethodInfo ReflogEntryGetOldIdMethodInfo ReflogEntry signature where
overloadedMethod _ = reflogEntryGetOldId
#endif
-- method ReflogEntry::ref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "reflog_entry", argType = TInterface (Name {namespace = "Ggit", name = "ReflogEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitReflogEntry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Ggit", name = "ReflogEntry"}))
-- throws : False
-- Skip return : False
foreign import ccall "ggit_reflog_entry_ref" ggit_reflog_entry_ref ::
Ptr ReflogEntry -> -- reflog_entry : TInterface (Name {namespace = "Ggit", name = "ReflogEntry"})
IO (Ptr ReflogEntry)
{- |
Atomically increments the reference count of /@reflogEntry@/ by one.
This function is MT-safe and may be called from any thread.
-}
reflogEntryRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
ReflogEntry
{- ^ /@reflogEntry@/: a 'GI.Ggit.Structs.ReflogEntry.ReflogEntry'. -}
-> m (Maybe ReflogEntry)
{- ^ __Returns:__ the passed in 'GI.Ggit.Structs.ReflogEntry.ReflogEntry' or 'Nothing'. -}
reflogEntryRef reflogEntry = liftIO $ do
reflogEntry' <- unsafeManagedPtrGetPtr reflogEntry
result <- ggit_reflog_entry_ref reflogEntry'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newBoxed ReflogEntry) result'
return result''
touchManagedPtr reflogEntry
return maybeResult
#if ENABLE_OVERLOADING
data ReflogEntryRefMethodInfo
instance (signature ~ (m (Maybe ReflogEntry)), MonadIO m) => O.MethodInfo ReflogEntryRefMethodInfo ReflogEntry signature where
overloadedMethod _ = reflogEntryRef
#endif
-- method ReflogEntry::unref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "reflog_entry", argType = TInterface (Name {namespace = "Ggit", name = "ReflogEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GgitReflogEntry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "ggit_reflog_entry_unref" ggit_reflog_entry_unref ::
Ptr ReflogEntry -> -- reflog_entry : TInterface (Name {namespace = "Ggit", name = "ReflogEntry"})
IO ()
{- |
Atomically decrements the reference count of /@reflogEntry@/ by one.
If the reference count drops to 0, /@reflogEntry@/ is freed.
-}
reflogEntryUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
ReflogEntry
{- ^ /@reflogEntry@/: a 'GI.Ggit.Structs.ReflogEntry.ReflogEntry'. -}
-> m ()
reflogEntryUnref reflogEntry = liftIO $ do
reflogEntry' <- unsafeManagedPtrGetPtr reflogEntry
ggit_reflog_entry_unref reflogEntry'
touchManagedPtr reflogEntry
return ()
#if ENABLE_OVERLOADING
data ReflogEntryUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo ReflogEntryUnrefMethodInfo ReflogEntry signature where
overloadedMethod _ = reflogEntryUnref
#endif
#if ENABLE_OVERLOADING
type family ResolveReflogEntryMethod (t :: Symbol) (o :: *) :: * where
ResolveReflogEntryMethod "ref" o = ReflogEntryRefMethodInfo
ResolveReflogEntryMethod "unref" o = ReflogEntryUnrefMethodInfo
ResolveReflogEntryMethod "getCommitter" o = ReflogEntryGetCommitterMethodInfo
ResolveReflogEntryMethod "getMessage" o = ReflogEntryGetMessageMethodInfo
ResolveReflogEntryMethod "getNewId" o = ReflogEntryGetNewIdMethodInfo
ResolveReflogEntryMethod "getOldId" o = ReflogEntryGetOldIdMethodInfo
ResolveReflogEntryMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveReflogEntryMethod t ReflogEntry, O.MethodInfo info ReflogEntry p) => OL.IsLabel t (ReflogEntry -> 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