#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Ggit.Structs.RemoteHead
(
RemoteHead(..) ,
noRemoteHead ,
#if ENABLE_OVERLOADING
RemoteHeadGetLocalOidMethodInfo ,
#endif
remoteHeadGetLocalOid ,
#if ENABLE_OVERLOADING
RemoteHeadGetNameMethodInfo ,
#endif
remoteHeadGetName ,
#if ENABLE_OVERLOADING
RemoteHeadGetOidMethodInfo ,
#endif
remoteHeadGetOid ,
#if ENABLE_OVERLOADING
RemoteHeadIsLocalMethodInfo ,
#endif
remoteHeadIsLocal ,
#if ENABLE_OVERLOADING
RemoteHeadRefMethodInfo ,
#endif
remoteHeadRef ,
#if ENABLE_OVERLOADING
RemoteHeadUnrefMethodInfo ,
#endif
remoteHeadUnref ,
) 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.OId as Ggit.OId
newtype RemoteHead = RemoteHead (ManagedPtr RemoteHead)
foreign import ccall "ggit_remote_head_get_type" c_ggit_remote_head_get_type ::
IO GType
instance BoxedObject RemoteHead where
boxedType _ = c_ggit_remote_head_get_type
noRemoteHead :: Maybe RemoteHead
noRemoteHead = Nothing
#if ENABLE_OVERLOADING
instance O.HasAttributeList RemoteHead
type instance O.AttributeList RemoteHead = RemoteHeadAttributeList
type RemoteHeadAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "ggit_remote_head_get_local_oid" ggit_remote_head_get_local_oid ::
Ptr RemoteHead ->
IO (Ptr Ggit.OId.OId)
remoteHeadGetLocalOid ::
(B.CallStack.HasCallStack, MonadIO m) =>
RemoteHead
-> m (Maybe Ggit.OId.OId)
remoteHeadGetLocalOid remoteHead = liftIO $ do
remoteHead' <- unsafeManagedPtrGetPtr remoteHead
result <- ggit_remote_head_get_local_oid remoteHead'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newBoxed Ggit.OId.OId) result'
return result''
touchManagedPtr remoteHead
return maybeResult
#if ENABLE_OVERLOADING
data RemoteHeadGetLocalOidMethodInfo
instance (signature ~ (m (Maybe Ggit.OId.OId)), MonadIO m) => O.MethodInfo RemoteHeadGetLocalOidMethodInfo RemoteHead signature where
overloadedMethod _ = remoteHeadGetLocalOid
#endif
foreign import ccall "ggit_remote_head_get_name" ggit_remote_head_get_name ::
Ptr RemoteHead ->
IO CString
remoteHeadGetName ::
(B.CallStack.HasCallStack, MonadIO m) =>
RemoteHead
-> m (Maybe T.Text)
remoteHeadGetName remoteHead = liftIO $ do
remoteHead' <- unsafeManagedPtrGetPtr remoteHead
result <- ggit_remote_head_get_name remoteHead'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
return result''
touchManagedPtr remoteHead
return maybeResult
#if ENABLE_OVERLOADING
data RemoteHeadGetNameMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo RemoteHeadGetNameMethodInfo RemoteHead signature where
overloadedMethod _ = remoteHeadGetName
#endif
foreign import ccall "ggit_remote_head_get_oid" ggit_remote_head_get_oid ::
Ptr RemoteHead ->
IO (Ptr Ggit.OId.OId)
remoteHeadGetOid ::
(B.CallStack.HasCallStack, MonadIO m) =>
RemoteHead
-> m (Maybe Ggit.OId.OId)
remoteHeadGetOid remoteHead = liftIO $ do
remoteHead' <- unsafeManagedPtrGetPtr remoteHead
result <- ggit_remote_head_get_oid remoteHead'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newBoxed Ggit.OId.OId) result'
return result''
touchManagedPtr remoteHead
return maybeResult
#if ENABLE_OVERLOADING
data RemoteHeadGetOidMethodInfo
instance (signature ~ (m (Maybe Ggit.OId.OId)), MonadIO m) => O.MethodInfo RemoteHeadGetOidMethodInfo RemoteHead signature where
overloadedMethod _ = remoteHeadGetOid
#endif
foreign import ccall "ggit_remote_head_is_local" ggit_remote_head_is_local ::
Ptr RemoteHead ->
IO CInt
remoteHeadIsLocal ::
(B.CallStack.HasCallStack, MonadIO m) =>
RemoteHead
-> m Bool
remoteHeadIsLocal remoteHead = liftIO $ do
remoteHead' <- unsafeManagedPtrGetPtr remoteHead
result <- ggit_remote_head_is_local remoteHead'
let result' = (/= 0) result
touchManagedPtr remoteHead
return result'
#if ENABLE_OVERLOADING
data RemoteHeadIsLocalMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RemoteHeadIsLocalMethodInfo RemoteHead signature where
overloadedMethod _ = remoteHeadIsLocal
#endif
foreign import ccall "ggit_remote_head_ref" ggit_remote_head_ref ::
Ptr RemoteHead ->
IO (Ptr RemoteHead)
remoteHeadRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
RemoteHead
-> m RemoteHead
remoteHeadRef remoteHead = liftIO $ do
remoteHead' <- unsafeManagedPtrGetPtr remoteHead
result <- ggit_remote_head_ref remoteHead'
checkUnexpectedReturnNULL "remoteHeadRef" result
result' <- (wrapBoxed RemoteHead) result
touchManagedPtr remoteHead
return result'
#if ENABLE_OVERLOADING
data RemoteHeadRefMethodInfo
instance (signature ~ (m RemoteHead), MonadIO m) => O.MethodInfo RemoteHeadRefMethodInfo RemoteHead signature where
overloadedMethod _ = remoteHeadRef
#endif
foreign import ccall "ggit_remote_head_unref" ggit_remote_head_unref ::
Ptr RemoteHead ->
IO ()
remoteHeadUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
RemoteHead
-> m ()
remoteHeadUnref remoteHead = liftIO $ do
remoteHead' <- unsafeManagedPtrGetPtr remoteHead
ggit_remote_head_unref remoteHead'
touchManagedPtr remoteHead
return ()
#if ENABLE_OVERLOADING
data RemoteHeadUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RemoteHeadUnrefMethodInfo RemoteHead signature where
overloadedMethod _ = remoteHeadUnref
#endif
#if ENABLE_OVERLOADING
type family ResolveRemoteHeadMethod (t :: Symbol) (o :: *) :: * where
ResolveRemoteHeadMethod "isLocal" o = RemoteHeadIsLocalMethodInfo
ResolveRemoteHeadMethod "ref" o = RemoteHeadRefMethodInfo
ResolveRemoteHeadMethod "unref" o = RemoteHeadUnrefMethodInfo
ResolveRemoteHeadMethod "getLocalOid" o = RemoteHeadGetLocalOidMethodInfo
ResolveRemoteHeadMethod "getName" o = RemoteHeadGetNameMethodInfo
ResolveRemoteHeadMethod "getOid" o = RemoteHeadGetOidMethodInfo
ResolveRemoteHeadMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveRemoteHeadMethod t RemoteHead, O.MethodInfo info RemoteHead p) => OL.IsLabel t (RemoteHead -> 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