#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Atk.Interfaces.HyperlinkImpl
(
HyperlinkImpl(..) ,
noHyperlinkImpl ,
IsHyperlinkImpl ,
#if ENABLE_OVERLOADING
HyperlinkImplGetHyperlinkMethodInfo ,
#endif
hyperlinkImplGetHyperlink ,
) 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.Atk.Objects.Hyperlink as Atk.Hyperlink
newtype HyperlinkImpl = HyperlinkImpl (ManagedPtr HyperlinkImpl)
noHyperlinkImpl :: Maybe HyperlinkImpl
noHyperlinkImpl = Nothing
#if ENABLE_OVERLOADING
type instance O.SignalList HyperlinkImpl = HyperlinkImplSignalList
type HyperlinkImplSignalList = ('[ ] :: [(Symbol, *)])
#endif
class (ManagedPtrNewtype o, O.IsDescendantOf HyperlinkImpl o) => IsHyperlinkImpl o
instance (ManagedPtrNewtype o, O.IsDescendantOf HyperlinkImpl o) => IsHyperlinkImpl o
instance WrappedPtr HyperlinkImpl where
wrappedPtrCalloc = return nullPtr
wrappedPtrCopy = return
wrappedPtrFree = Nothing
#if ENABLE_OVERLOADING
type family ResolveHyperlinkImplMethod (t :: Symbol) (o :: *) :: * where
ResolveHyperlinkImplMethod "getHyperlink" o = HyperlinkImplGetHyperlinkMethodInfo
ResolveHyperlinkImplMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveHyperlinkImplMethod t HyperlinkImpl, O.MethodInfo info HyperlinkImpl p) => OL.IsLabel t (HyperlinkImpl -> 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
foreign import ccall "atk_hyperlink_impl_get_hyperlink" atk_hyperlink_impl_get_hyperlink ::
Ptr HyperlinkImpl ->
IO (Ptr Atk.Hyperlink.Hyperlink)
hyperlinkImplGetHyperlink ::
(B.CallStack.HasCallStack, MonadIO m, IsHyperlinkImpl a) =>
a
-> m Atk.Hyperlink.Hyperlink
hyperlinkImplGetHyperlink impl = liftIO $ do
impl' <- unsafeManagedPtrCastPtr impl
result <- atk_hyperlink_impl_get_hyperlink impl'
checkUnexpectedReturnNULL "hyperlinkImplGetHyperlink" result
result' <- (wrapObject Atk.Hyperlink.Hyperlink) result
touchManagedPtr impl
return result'
#if ENABLE_OVERLOADING
data HyperlinkImplGetHyperlinkMethodInfo
instance (signature ~ (m Atk.Hyperlink.Hyperlink), MonadIO m, IsHyperlinkImpl a) => O.MethodInfo HyperlinkImplGetHyperlinkMethodInfo a signature where
overloadedMethod _ = hyperlinkImplGetHyperlink
#endif