{- | 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