module GI.Ggit.Objects.Ref
(
Ref(..) ,
IsRef ,
toRef ,
noRef ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefDeleteMethodInfo ,
#endif
refDelete ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefDeleteLogMethodInfo ,
#endif
refDeleteLog ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefGetLogMethodInfo ,
#endif
refGetLog ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefGetNameMethodInfo ,
#endif
refGetName ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefGetOwnerMethodInfo ,
#endif
refGetOwner ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefGetReferenceTypeMethodInfo ,
#endif
refGetReferenceType ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefGetShorthandMethodInfo ,
#endif
refGetShorthand ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefGetSymbolicTargetMethodInfo ,
#endif
refGetSymbolicTarget ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefGetTargetMethodInfo ,
#endif
refGetTarget ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefHasLogMethodInfo ,
#endif
refHasLog ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefIsBranchMethodInfo ,
#endif
refIsBranch ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefIsNoteMethodInfo ,
#endif
refIsNote ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefIsRemoteMethodInfo ,
#endif
refIsRemote ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefIsTagMethodInfo ,
#endif
refIsTag ,
refIsValidName ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefLookupMethodInfo ,
#endif
refLookup ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefRenameMethodInfo ,
#endif
refRename ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefResolveMethodInfo ,
#endif
refResolve ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefSetSymbolicTargetMethodInfo ,
#endif
refSetSymbolicTarget ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefSetTargetMethodInfo ,
#endif
refSetTarget ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RefToStringMethodInfo ,
#endif
refToString ,
) 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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
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 GI.GObject.Objects.Object as GObject.Object
import qualified GI.Ggit.Enums as Ggit.Enums
import qualified GI.Ggit.Objects.Native as Ggit.Native
import qualified GI.Ggit.Objects.Object as Ggit.Object
import qualified GI.Ggit.Objects.ObjectFactoryBase as Ggit.ObjectFactoryBase
import qualified GI.Ggit.Objects.Repository as Ggit.Repository
import qualified GI.Ggit.Structs.OId as Ggit.OId
import qualified GI.Ggit.Structs.Reflog as Ggit.Reflog
newtype Ref = Ref (ManagedPtr Ref)
foreign import ccall "ggit_ref_get_type"
c_ggit_ref_get_type :: IO GType
instance GObject Ref where
gobjectType _ = c_ggit_ref_get_type
class GObject o => IsRef o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError Ref a) =>
IsRef a
#endif
instance IsRef Ref
instance Ggit.Native.IsNative Ref
instance Ggit.ObjectFactoryBase.IsObjectFactoryBase Ref
instance GObject.Object.IsObject Ref
toRef :: (MonadIO m, IsRef o) => o -> m Ref
toRef = liftIO . unsafeCastTo Ref
noRef :: Maybe Ref
noRef = Nothing
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveRefMethod (t :: Symbol) (o :: *) :: * where
ResolveRefMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveRefMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveRefMethod "delete" o = RefDeleteMethodInfo
ResolveRefMethod "deleteLog" o = RefDeleteLogMethodInfo
ResolveRefMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveRefMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveRefMethod "hasLog" o = RefHasLogMethodInfo
ResolveRefMethod "isBranch" o = RefIsBranchMethodInfo
ResolveRefMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveRefMethod "isNote" o = RefIsNoteMethodInfo
ResolveRefMethod "isRemote" o = RefIsRemoteMethodInfo
ResolveRefMethod "isTag" o = RefIsTagMethodInfo
ResolveRefMethod "lookup" o = RefLookupMethodInfo
ResolveRefMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveRefMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveRefMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveRefMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveRefMethod "rename" o = RefRenameMethodInfo
ResolveRefMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveRefMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
ResolveRefMethod "resolve" o = RefResolveMethodInfo
ResolveRefMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveRefMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveRefMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveRefMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveRefMethod "toString" o = RefToStringMethodInfo
ResolveRefMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveRefMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveRefMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveRefMethod "getLog" o = RefGetLogMethodInfo
ResolveRefMethod "getName" o = RefGetNameMethodInfo
ResolveRefMethod "getOwner" o = RefGetOwnerMethodInfo
ResolveRefMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveRefMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveRefMethod "getReferenceType" o = RefGetReferenceTypeMethodInfo
ResolveRefMethod "getShorthand" o = RefGetShorthandMethodInfo
ResolveRefMethod "getSymbolicTarget" o = RefGetSymbolicTargetMethodInfo
ResolveRefMethod "getTarget" o = RefGetTargetMethodInfo
ResolveRefMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveRefMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveRefMethod "setSymbolicTarget" o = RefSetSymbolicTargetMethodInfo
ResolveRefMethod "setTarget" o = RefSetTargetMethodInfo
ResolveRefMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveRefMethod t Ref, O.MethodInfo info Ref p) => O.IsLabelProxy t (Ref -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveRefMethod t Ref, O.MethodInfo info Ref p) => O.IsLabel t (Ref -> 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
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList Ref
type instance O.AttributeList Ref = RefAttributeList
type RefAttributeList = ('[ '("native", Ggit.Native.NativeNativePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type instance O.SignalList Ref = RefSignalList
type RefSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "ggit_ref_delete" ggit_ref_delete ::
Ptr Ref ->
Ptr (Ptr GError) ->
IO ()
refDelete ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m ()
refDelete ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
onException (do
propagateGError $ ggit_ref_delete ref'
touchManagedPtr ref
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefDeleteMethodInfo
instance (signature ~ (m ()), MonadIO m, IsRef a) => O.MethodInfo RefDeleteMethodInfo a signature where
overloadedMethod _ = refDelete
#endif
foreign import ccall "ggit_ref_delete_log" ggit_ref_delete_log ::
Ptr Ref ->
Ptr (Ptr GError) ->
IO ()
refDeleteLog ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m ()
refDeleteLog ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
onException (do
propagateGError $ ggit_ref_delete_log ref'
touchManagedPtr ref
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefDeleteLogMethodInfo
instance (signature ~ (m ()), MonadIO m, IsRef a) => O.MethodInfo RefDeleteLogMethodInfo a signature where
overloadedMethod _ = refDeleteLog
#endif
foreign import ccall "ggit_ref_get_log" ggit_ref_get_log ::
Ptr Ref ->
Ptr (Ptr GError) ->
IO (Ptr Ggit.Reflog.Reflog)
refGetLog ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m Ggit.Reflog.Reflog
refGetLog ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
onException (do
result <- propagateGError $ ggit_ref_get_log ref'
checkUnexpectedReturnNULL "refGetLog" result
result' <- (wrapBoxed Ggit.Reflog.Reflog) result
touchManagedPtr ref
return result'
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefGetLogMethodInfo
instance (signature ~ (m Ggit.Reflog.Reflog), MonadIO m, IsRef a) => O.MethodInfo RefGetLogMethodInfo a signature where
overloadedMethod _ = refGetLog
#endif
foreign import ccall "ggit_ref_get_name" ggit_ref_get_name ::
Ptr Ref ->
IO CString
refGetName ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m T.Text
refGetName ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
result <- ggit_ref_get_name ref'
checkUnexpectedReturnNULL "refGetName" result
result' <- cstringToText result
touchManagedPtr ref
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsRef a) => O.MethodInfo RefGetNameMethodInfo a signature where
overloadedMethod _ = refGetName
#endif
foreign import ccall "ggit_ref_get_owner" ggit_ref_get_owner ::
Ptr Ref ->
IO (Ptr Ggit.Repository.Repository)
refGetOwner ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m Ggit.Repository.Repository
refGetOwner ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
result <- ggit_ref_get_owner ref'
checkUnexpectedReturnNULL "refGetOwner" result
result' <- (wrapObject Ggit.Repository.Repository) result
touchManagedPtr ref
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefGetOwnerMethodInfo
instance (signature ~ (m Ggit.Repository.Repository), MonadIO m, IsRef a) => O.MethodInfo RefGetOwnerMethodInfo a signature where
overloadedMethod _ = refGetOwner
#endif
foreign import ccall "ggit_ref_get_reference_type" ggit_ref_get_reference_type ::
Ptr Ref ->
IO CUInt
refGetReferenceType ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m Ggit.Enums.RefType
refGetReferenceType ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
result <- ggit_ref_get_reference_type ref'
let result' = (toEnum . fromIntegral) result
touchManagedPtr ref
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefGetReferenceTypeMethodInfo
instance (signature ~ (m Ggit.Enums.RefType), MonadIO m, IsRef a) => O.MethodInfo RefGetReferenceTypeMethodInfo a signature where
overloadedMethod _ = refGetReferenceType
#endif
foreign import ccall "ggit_ref_get_shorthand" ggit_ref_get_shorthand ::
Ptr Ref ->
IO CString
refGetShorthand ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m T.Text
refGetShorthand ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
result <- ggit_ref_get_shorthand ref'
checkUnexpectedReturnNULL "refGetShorthand" result
result' <- cstringToText result
touchManagedPtr ref
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefGetShorthandMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsRef a) => O.MethodInfo RefGetShorthandMethodInfo a signature where
overloadedMethod _ = refGetShorthand
#endif
foreign import ccall "ggit_ref_get_symbolic_target" ggit_ref_get_symbolic_target ::
Ptr Ref ->
IO CString
refGetSymbolicTarget ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m T.Text
refGetSymbolicTarget ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
result <- ggit_ref_get_symbolic_target ref'
checkUnexpectedReturnNULL "refGetSymbolicTarget" result
result' <- cstringToText result
touchManagedPtr ref
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefGetSymbolicTargetMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsRef a) => O.MethodInfo RefGetSymbolicTargetMethodInfo a signature where
overloadedMethod _ = refGetSymbolicTarget
#endif
foreign import ccall "ggit_ref_get_target" ggit_ref_get_target ::
Ptr Ref ->
IO (Ptr Ggit.OId.OId)
refGetTarget ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m Ggit.OId.OId
refGetTarget ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
result <- ggit_ref_get_target ref'
checkUnexpectedReturnNULL "refGetTarget" result
result' <- (wrapBoxed Ggit.OId.OId) result
touchManagedPtr ref
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefGetTargetMethodInfo
instance (signature ~ (m Ggit.OId.OId), MonadIO m, IsRef a) => O.MethodInfo RefGetTargetMethodInfo a signature where
overloadedMethod _ = refGetTarget
#endif
foreign import ccall "ggit_ref_has_log" ggit_ref_has_log ::
Ptr Ref ->
IO CInt
refHasLog ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m Bool
refHasLog ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
result <- ggit_ref_has_log ref'
let result' = (/= 0) result
touchManagedPtr ref
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefHasLogMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsRef a) => O.MethodInfo RefHasLogMethodInfo a signature where
overloadedMethod _ = refHasLog
#endif
foreign import ccall "ggit_ref_is_branch" ggit_ref_is_branch ::
Ptr Ref ->
IO CInt
refIsBranch ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m Bool
refIsBranch ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
result <- ggit_ref_is_branch ref'
let result' = (/= 0) result
touchManagedPtr ref
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefIsBranchMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsRef a) => O.MethodInfo RefIsBranchMethodInfo a signature where
overloadedMethod _ = refIsBranch
#endif
foreign import ccall "ggit_ref_is_note" ggit_ref_is_note ::
Ptr Ref ->
IO CInt
refIsNote ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m Bool
refIsNote ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
result <- ggit_ref_is_note ref'
let result' = (/= 0) result
touchManagedPtr ref
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefIsNoteMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsRef a) => O.MethodInfo RefIsNoteMethodInfo a signature where
overloadedMethod _ = refIsNote
#endif
foreign import ccall "ggit_ref_is_remote" ggit_ref_is_remote ::
Ptr Ref ->
IO CInt
refIsRemote ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m Bool
refIsRemote ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
result <- ggit_ref_is_remote ref'
let result' = (/= 0) result
touchManagedPtr ref
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefIsRemoteMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsRef a) => O.MethodInfo RefIsRemoteMethodInfo a signature where
overloadedMethod _ = refIsRemote
#endif
foreign import ccall "ggit_ref_is_tag" ggit_ref_is_tag ::
Ptr Ref ->
IO CInt
refIsTag ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m Bool
refIsTag ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
result <- ggit_ref_is_tag ref'
let result' = (/= 0) result
touchManagedPtr ref
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefIsTagMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsRef a) => O.MethodInfo RefIsTagMethodInfo a signature where
overloadedMethod _ = refIsTag
#endif
foreign import ccall "ggit_ref_lookup" ggit_ref_lookup ::
Ptr Ref ->
Ptr (Ptr GError) ->
IO (Ptr Ggit.Object.Object)
refLookup ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m Ggit.Object.Object
refLookup ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
onException (do
result <- propagateGError $ ggit_ref_lookup ref'
checkUnexpectedReturnNULL "refLookup" result
result' <- (wrapObject Ggit.Object.Object) result
touchManagedPtr ref
return result'
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefLookupMethodInfo
instance (signature ~ (m Ggit.Object.Object), MonadIO m, IsRef a) => O.MethodInfo RefLookupMethodInfo a signature where
overloadedMethod _ = refLookup
#endif
foreign import ccall "ggit_ref_rename" ggit_ref_rename ::
Ptr Ref ->
CString ->
CInt ->
CString ->
Ptr (Ptr GError) ->
IO (Ptr Ref)
refRename ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> T.Text
-> Bool
-> T.Text
-> m Ref
refRename ref newName force logMessage = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
newName' <- textToCString newName
let force' = (fromIntegral . fromEnum) force
logMessage' <- textToCString logMessage
onException (do
result <- propagateGError $ ggit_ref_rename ref' newName' force' logMessage'
checkUnexpectedReturnNULL "refRename" result
result' <- (wrapObject Ref) result
touchManagedPtr ref
freeMem newName'
freeMem logMessage'
return result'
) (do
freeMem newName'
freeMem logMessage'
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefRenameMethodInfo
instance (signature ~ (T.Text -> Bool -> T.Text -> m Ref), MonadIO m, IsRef a) => O.MethodInfo RefRenameMethodInfo a signature where
overloadedMethod _ = refRename
#endif
foreign import ccall "ggit_ref_resolve" ggit_ref_resolve ::
Ptr Ref ->
Ptr (Ptr GError) ->
IO (Ptr Ref)
refResolve ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m Ref
refResolve ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
onException (do
result <- propagateGError $ ggit_ref_resolve ref'
checkUnexpectedReturnNULL "refResolve" result
result' <- (wrapObject Ref) result
touchManagedPtr ref
return result'
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefResolveMethodInfo
instance (signature ~ (m Ref), MonadIO m, IsRef a) => O.MethodInfo RefResolveMethodInfo a signature where
overloadedMethod _ = refResolve
#endif
foreign import ccall "ggit_ref_set_symbolic_target" ggit_ref_set_symbolic_target ::
Ptr Ref ->
CString ->
CString ->
Ptr (Ptr GError) ->
IO (Ptr Ref)
refSetSymbolicTarget ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> T.Text
-> T.Text
-> m Ref
refSetSymbolicTarget ref target logMessage = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
target' <- textToCString target
logMessage' <- textToCString logMessage
onException (do
result <- propagateGError $ ggit_ref_set_symbolic_target ref' target' logMessage'
checkUnexpectedReturnNULL "refSetSymbolicTarget" result
result' <- (wrapObject Ref) result
touchManagedPtr ref
freeMem target'
freeMem logMessage'
return result'
) (do
freeMem target'
freeMem logMessage'
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefSetSymbolicTargetMethodInfo
instance (signature ~ (T.Text -> T.Text -> m Ref), MonadIO m, IsRef a) => O.MethodInfo RefSetSymbolicTargetMethodInfo a signature where
overloadedMethod _ = refSetSymbolicTarget
#endif
foreign import ccall "ggit_ref_set_target" ggit_ref_set_target ::
Ptr Ref ->
Ptr Ggit.OId.OId ->
CString ->
Ptr (Ptr GError) ->
IO (Ptr Ref)
refSetTarget ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> Ggit.OId.OId
-> T.Text
-> m Ref
refSetTarget ref oid logMessage = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
oid' <- unsafeManagedPtrGetPtr oid
logMessage' <- textToCString logMessage
onException (do
result <- propagateGError $ ggit_ref_set_target ref' oid' logMessage'
checkUnexpectedReturnNULL "refSetTarget" result
result' <- (wrapObject Ref) result
touchManagedPtr ref
touchManagedPtr oid
freeMem logMessage'
return result'
) (do
freeMem logMessage'
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefSetTargetMethodInfo
instance (signature ~ (Ggit.OId.OId -> T.Text -> m Ref), MonadIO m, IsRef a) => O.MethodInfo RefSetTargetMethodInfo a signature where
overloadedMethod _ = refSetTarget
#endif
foreign import ccall "ggit_ref_to_string" ggit_ref_to_string ::
Ptr Ref ->
IO CString
refToString ::
(B.CallStack.HasCallStack, MonadIO m, IsRef a) =>
a
-> m T.Text
refToString ref = liftIO $ do
ref' <- unsafeManagedPtrCastPtr ref
result <- ggit_ref_to_string ref'
checkUnexpectedReturnNULL "refToString" result
result' <- cstringToText result
touchManagedPtr ref
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RefToStringMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsRef a) => O.MethodInfo RefToStringMethodInfo a signature where
overloadedMethod _ = refToString
#endif
foreign import ccall "ggit_ref_is_valid_name" ggit_ref_is_valid_name ::
CString ->
IO CInt
refIsValidName ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m Bool
refIsValidName name = liftIO $ do
name' <- textToCString name
result <- ggit_ref_is_valid_name name'
let result' = (/= 0) result
freeMem name'
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif