module GI.Ggit.Objects.Tag
(
Tag(..) ,
IsTag ,
toTag ,
noTag ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
TagGetMessageMethodInfo ,
#endif
tagGetMessage ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
TagGetNameMethodInfo ,
#endif
tagGetName ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
TagGetTaggerMethodInfo ,
#endif
tagGetTagger ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
TagGetTargetMethodInfo ,
#endif
tagGetTarget ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
TagGetTargetIdMethodInfo ,
#endif
tagGetTargetId ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
TagGetTargetTypeMethodInfo ,
#endif
tagGetTargetType ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
TagPeelMethodInfo ,
#endif
tagPeel ,
) 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.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.Signature as Ggit.Signature
import qualified GI.Ggit.Structs.OId as Ggit.OId
newtype Tag = Tag (ManagedPtr Tag)
foreign import ccall "ggit_tag_get_type"
c_ggit_tag_get_type :: IO GType
instance GObject Tag where
gobjectType _ = c_ggit_tag_get_type
class GObject o => IsTag o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError Tag a) =>
IsTag a
#endif
instance IsTag Tag
instance Ggit.Object.IsObject Tag
instance Ggit.Native.IsNative Tag
instance Ggit.ObjectFactoryBase.IsObjectFactoryBase Tag
instance GObject.Object.IsObject Tag
toTag :: (MonadIO m, IsTag o) => o -> m Tag
toTag = liftIO . unsafeCastTo Tag
noTag :: Maybe Tag
noTag = Nothing
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveTagMethod (t :: Symbol) (o :: *) :: * where
ResolveTagMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveTagMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveTagMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveTagMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveTagMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveTagMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveTagMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveTagMethod "peel" o = TagPeelMethodInfo
ResolveTagMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveTagMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveTagMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveTagMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
ResolveTagMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveTagMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveTagMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveTagMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveTagMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveTagMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveTagMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveTagMethod "getId" o = Ggit.Object.ObjectGetIdMethodInfo
ResolveTagMethod "getMessage" o = TagGetMessageMethodInfo
ResolveTagMethod "getName" o = TagGetNameMethodInfo
ResolveTagMethod "getOwner" o = Ggit.Object.ObjectGetOwnerMethodInfo
ResolveTagMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveTagMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveTagMethod "getTagger" o = TagGetTaggerMethodInfo
ResolveTagMethod "getTarget" o = TagGetTargetMethodInfo
ResolveTagMethod "getTargetId" o = TagGetTargetIdMethodInfo
ResolveTagMethod "getTargetType" o = TagGetTargetTypeMethodInfo
ResolveTagMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveTagMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveTagMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTagMethod t Tag, O.MethodInfo info Tag p) => O.IsLabelProxy t (Tag -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveTagMethod t Tag, O.MethodInfo info Tag p) => O.IsLabel t (Tag -> 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 Tag
type instance O.AttributeList Tag = TagAttributeList
type TagAttributeList = ('[ '("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 Tag = TagSignalList
type TagSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "ggit_tag_get_message" ggit_tag_get_message ::
Ptr Tag ->
IO CString
tagGetMessage ::
(B.CallStack.HasCallStack, MonadIO m, IsTag a) =>
a
-> m T.Text
tagGetMessage tag = liftIO $ do
tag' <- unsafeManagedPtrCastPtr tag
result <- ggit_tag_get_message tag'
checkUnexpectedReturnNULL "tagGetMessage" result
result' <- cstringToText result
touchManagedPtr tag
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data TagGetMessageMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsTag a) => O.MethodInfo TagGetMessageMethodInfo a signature where
overloadedMethod _ = tagGetMessage
#endif
foreign import ccall "ggit_tag_get_name" ggit_tag_get_name ::
Ptr Tag ->
IO CString
tagGetName ::
(B.CallStack.HasCallStack, MonadIO m, IsTag a) =>
a
-> m T.Text
tagGetName tag = liftIO $ do
tag' <- unsafeManagedPtrCastPtr tag
result <- ggit_tag_get_name tag'
checkUnexpectedReturnNULL "tagGetName" result
result' <- cstringToText result
touchManagedPtr tag
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data TagGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsTag a) => O.MethodInfo TagGetNameMethodInfo a signature where
overloadedMethod _ = tagGetName
#endif
foreign import ccall "ggit_tag_get_tagger" ggit_tag_get_tagger ::
Ptr Tag ->
IO (Ptr Ggit.Signature.Signature)
tagGetTagger ::
(B.CallStack.HasCallStack, MonadIO m, IsTag a) =>
a
-> m Ggit.Signature.Signature
tagGetTagger tag = liftIO $ do
tag' <- unsafeManagedPtrCastPtr tag
result <- ggit_tag_get_tagger tag'
checkUnexpectedReturnNULL "tagGetTagger" result
result' <- (wrapObject Ggit.Signature.Signature) result
touchManagedPtr tag
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data TagGetTaggerMethodInfo
instance (signature ~ (m Ggit.Signature.Signature), MonadIO m, IsTag a) => O.MethodInfo TagGetTaggerMethodInfo a signature where
overloadedMethod _ = tagGetTagger
#endif
foreign import ccall "ggit_tag_get_target" ggit_tag_get_target ::
Ptr Tag ->
Ptr (Ptr GError) ->
IO (Ptr Ggit.Object.Object)
tagGetTarget ::
(B.CallStack.HasCallStack, MonadIO m, IsTag a) =>
a
-> m Ggit.Object.Object
tagGetTarget tag = liftIO $ do
tag' <- unsafeManagedPtrCastPtr tag
onException (do
result <- propagateGError $ ggit_tag_get_target tag'
checkUnexpectedReturnNULL "tagGetTarget" result
result' <- (wrapObject Ggit.Object.Object) result
touchManagedPtr tag
return result'
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data TagGetTargetMethodInfo
instance (signature ~ (m Ggit.Object.Object), MonadIO m, IsTag a) => O.MethodInfo TagGetTargetMethodInfo a signature where
overloadedMethod _ = tagGetTarget
#endif
foreign import ccall "ggit_tag_get_target_id" ggit_tag_get_target_id ::
Ptr Tag ->
IO (Ptr Ggit.OId.OId)
tagGetTargetId ::
(B.CallStack.HasCallStack, MonadIO m, IsTag a) =>
a
-> m Ggit.OId.OId
tagGetTargetId tag = liftIO $ do
tag' <- unsafeManagedPtrCastPtr tag
result <- ggit_tag_get_target_id tag'
checkUnexpectedReturnNULL "tagGetTargetId" result
result' <- (wrapBoxed Ggit.OId.OId) result
touchManagedPtr tag
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data TagGetTargetIdMethodInfo
instance (signature ~ (m Ggit.OId.OId), MonadIO m, IsTag a) => O.MethodInfo TagGetTargetIdMethodInfo a signature where
overloadedMethod _ = tagGetTargetId
#endif
foreign import ccall "ggit_tag_get_target_type" ggit_tag_get_target_type ::
Ptr Tag ->
IO CGType
tagGetTargetType ::
(B.CallStack.HasCallStack, MonadIO m, IsTag a) =>
a
-> m GType
tagGetTargetType tag = liftIO $ do
tag' <- unsafeManagedPtrCastPtr tag
result <- ggit_tag_get_target_type tag'
let result' = GType result
touchManagedPtr tag
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data TagGetTargetTypeMethodInfo
instance (signature ~ (m GType), MonadIO m, IsTag a) => O.MethodInfo TagGetTargetTypeMethodInfo a signature where
overloadedMethod _ = tagGetTargetType
#endif
foreign import ccall "ggit_tag_peel" ggit_tag_peel ::
Ptr Tag ->
Ptr (Ptr GError) ->
IO (Ptr Ggit.Object.Object)
tagPeel ::
(B.CallStack.HasCallStack, MonadIO m, IsTag a) =>
a
-> m Ggit.Object.Object
tagPeel tag = liftIO $ do
tag' <- unsafeManagedPtrCastPtr tag
onException (do
result <- propagateGError $ ggit_tag_peel tag'
checkUnexpectedReturnNULL "tagPeel" result
result' <- (wrapObject Ggit.Object.Object) result
touchManagedPtr tag
return result'
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data TagPeelMethodInfo
instance (signature ~ (m Ggit.Object.Object), MonadIO m, IsTag a) => O.MethodInfo TagPeelMethodInfo a signature where
overloadedMethod _ = tagPeel
#endif