{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.WebKit2.Objects.HitTestResult
    ( 

-- * Exported types
    HitTestResult(..)                       ,
    HitTestResultK                          ,
    toHitTestResult                         ,
    noHitTestResult                         ,


 -- * Methods
-- ** hitTestResultContextIsEditable
    hitTestResultContextIsEditable          ,


-- ** hitTestResultContextIsImage
    hitTestResultContextIsImage             ,


-- ** hitTestResultContextIsLink
    hitTestResultContextIsLink              ,


-- ** hitTestResultContextIsMedia
    hitTestResultContextIsMedia             ,


-- ** hitTestResultContextIsScrollbar
    hitTestResultContextIsScrollbar         ,


-- ** hitTestResultContextIsSelection
    hitTestResultContextIsSelection         ,


-- ** hitTestResultGetContext
    hitTestResultGetContext                 ,


-- ** hitTestResultGetImageUri
    hitTestResultGetImageUri                ,


-- ** hitTestResultGetLinkLabel
    hitTestResultGetLinkLabel               ,


-- ** hitTestResultGetLinkTitle
    hitTestResultGetLinkTitle               ,


-- ** hitTestResultGetLinkUri
    hitTestResultGetLinkUri                 ,


-- ** hitTestResultGetMediaUri
    hitTestResultGetMediaUri                ,




 -- * Properties
-- ** Context
    HitTestResultContextPropertyInfo        ,
    constructHitTestResultContext           ,
    getHitTestResultContext                 ,


-- ** ImageUri
    HitTestResultImageUriPropertyInfo       ,
    constructHitTestResultImageUri          ,
    getHitTestResultImageUri                ,


-- ** LinkLabel
    HitTestResultLinkLabelPropertyInfo      ,
    constructHitTestResultLinkLabel         ,
    getHitTestResultLinkLabel               ,


-- ** LinkTitle
    HitTestResultLinkTitlePropertyInfo      ,
    constructHitTestResultLinkTitle         ,
    getHitTestResultLinkTitle               ,


-- ** LinkUri
    HitTestResultLinkUriPropertyInfo        ,
    constructHitTestResultLinkUri           ,
    getHitTestResultLinkUri                 ,


-- ** MediaUri
    HitTestResultMediaUriPropertyInfo       ,
    constructHitTestResultMediaUri          ,
    getHitTestResultMediaUri                ,




    ) where

import Prelude ()
import Data.GI.Base.ShortPrelude

import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.WebKit2.Types
import GI.WebKit2.Callbacks
import qualified GI.GObject as GObject

newtype HitTestResult = HitTestResult (ForeignPtr HitTestResult)
foreign import ccall "webkit_hit_test_result_get_type"
    c_webkit_hit_test_result_get_type :: IO GType

type instance ParentTypes HitTestResult = HitTestResultParentTypes
type HitTestResultParentTypes = '[GObject.Object]

instance GObject HitTestResult where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_hit_test_result_get_type
    

class GObject o => HitTestResultK o
instance (GObject o, IsDescendantOf HitTestResult o) => HitTestResultK o

toHitTestResult :: HitTestResultK o => o -> IO HitTestResult
toHitTestResult = unsafeCastTo HitTestResult

noHitTestResult :: Maybe HitTestResult
noHitTestResult = Nothing

-- VVV Prop "context"
   -- Type: TBasicType TUInt32
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getHitTestResultContext :: (MonadIO m, HitTestResultK o) => o -> m Word32
getHitTestResultContext obj = liftIO $ getObjectPropertyCUInt obj "context"

constructHitTestResultContext :: Word32 -> IO ([Char], GValue)
constructHitTestResultContext val = constructObjectPropertyCUInt "context" val

data HitTestResultContextPropertyInfo
instance AttrInfo HitTestResultContextPropertyInfo where
    type AttrAllowedOps HitTestResultContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint HitTestResultContextPropertyInfo = (~) Word32
    type AttrBaseTypeConstraint HitTestResultContextPropertyInfo = HitTestResultK
    type AttrGetType HitTestResultContextPropertyInfo = Word32
    type AttrLabel HitTestResultContextPropertyInfo = "HitTestResult::context"
    attrGet _ = getHitTestResultContext
    attrSet _ = undefined
    attrConstruct _ = constructHitTestResultContext

-- VVV Prop "image-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getHitTestResultImageUri :: (MonadIO m, HitTestResultK o) => o -> m T.Text
getHitTestResultImageUri obj = liftIO $ getObjectPropertyString obj "image-uri"

constructHitTestResultImageUri :: T.Text -> IO ([Char], GValue)
constructHitTestResultImageUri val = constructObjectPropertyString "image-uri" val

data HitTestResultImageUriPropertyInfo
instance AttrInfo HitTestResultImageUriPropertyInfo where
    type AttrAllowedOps HitTestResultImageUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint HitTestResultImageUriPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint HitTestResultImageUriPropertyInfo = HitTestResultK
    type AttrGetType HitTestResultImageUriPropertyInfo = T.Text
    type AttrLabel HitTestResultImageUriPropertyInfo = "HitTestResult::image-uri"
    attrGet _ = getHitTestResultImageUri
    attrSet _ = undefined
    attrConstruct _ = constructHitTestResultImageUri

-- VVV Prop "link-label"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getHitTestResultLinkLabel :: (MonadIO m, HitTestResultK o) => o -> m T.Text
getHitTestResultLinkLabel obj = liftIO $ getObjectPropertyString obj "link-label"

constructHitTestResultLinkLabel :: T.Text -> IO ([Char], GValue)
constructHitTestResultLinkLabel val = constructObjectPropertyString "link-label" val

data HitTestResultLinkLabelPropertyInfo
instance AttrInfo HitTestResultLinkLabelPropertyInfo where
    type AttrAllowedOps HitTestResultLinkLabelPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint HitTestResultLinkLabelPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint HitTestResultLinkLabelPropertyInfo = HitTestResultK
    type AttrGetType HitTestResultLinkLabelPropertyInfo = T.Text
    type AttrLabel HitTestResultLinkLabelPropertyInfo = "HitTestResult::link-label"
    attrGet _ = getHitTestResultLinkLabel
    attrSet _ = undefined
    attrConstruct _ = constructHitTestResultLinkLabel

-- VVV Prop "link-title"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getHitTestResultLinkTitle :: (MonadIO m, HitTestResultK o) => o -> m T.Text
getHitTestResultLinkTitle obj = liftIO $ getObjectPropertyString obj "link-title"

constructHitTestResultLinkTitle :: T.Text -> IO ([Char], GValue)
constructHitTestResultLinkTitle val = constructObjectPropertyString "link-title" val

data HitTestResultLinkTitlePropertyInfo
instance AttrInfo HitTestResultLinkTitlePropertyInfo where
    type AttrAllowedOps HitTestResultLinkTitlePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint HitTestResultLinkTitlePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint HitTestResultLinkTitlePropertyInfo = HitTestResultK
    type AttrGetType HitTestResultLinkTitlePropertyInfo = T.Text
    type AttrLabel HitTestResultLinkTitlePropertyInfo = "HitTestResult::link-title"
    attrGet _ = getHitTestResultLinkTitle
    attrSet _ = undefined
    attrConstruct _ = constructHitTestResultLinkTitle

-- VVV Prop "link-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getHitTestResultLinkUri :: (MonadIO m, HitTestResultK o) => o -> m T.Text
getHitTestResultLinkUri obj = liftIO $ getObjectPropertyString obj "link-uri"

constructHitTestResultLinkUri :: T.Text -> IO ([Char], GValue)
constructHitTestResultLinkUri val = constructObjectPropertyString "link-uri" val

data HitTestResultLinkUriPropertyInfo
instance AttrInfo HitTestResultLinkUriPropertyInfo where
    type AttrAllowedOps HitTestResultLinkUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint HitTestResultLinkUriPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint HitTestResultLinkUriPropertyInfo = HitTestResultK
    type AttrGetType HitTestResultLinkUriPropertyInfo = T.Text
    type AttrLabel HitTestResultLinkUriPropertyInfo = "HitTestResult::link-uri"
    attrGet _ = getHitTestResultLinkUri
    attrSet _ = undefined
    attrConstruct _ = constructHitTestResultLinkUri

-- VVV Prop "media-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getHitTestResultMediaUri :: (MonadIO m, HitTestResultK o) => o -> m T.Text
getHitTestResultMediaUri obj = liftIO $ getObjectPropertyString obj "media-uri"

constructHitTestResultMediaUri :: T.Text -> IO ([Char], GValue)
constructHitTestResultMediaUri val = constructObjectPropertyString "media-uri" val

data HitTestResultMediaUriPropertyInfo
instance AttrInfo HitTestResultMediaUriPropertyInfo where
    type AttrAllowedOps HitTestResultMediaUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint HitTestResultMediaUriPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint HitTestResultMediaUriPropertyInfo = HitTestResultK
    type AttrGetType HitTestResultMediaUriPropertyInfo = T.Text
    type AttrLabel HitTestResultMediaUriPropertyInfo = "HitTestResult::media-uri"
    attrGet _ = getHitTestResultMediaUri
    attrSet _ = undefined
    attrConstruct _ = constructHitTestResultMediaUri

type instance AttributeList HitTestResult = HitTestResultAttributeList
type HitTestResultAttributeList = ('[ '("context", HitTestResultContextPropertyInfo), '("image-uri", HitTestResultImageUriPropertyInfo), '("link-label", HitTestResultLinkLabelPropertyInfo), '("link-title", HitTestResultLinkTitlePropertyInfo), '("link-uri", HitTestResultLinkUriPropertyInfo), '("media-uri", HitTestResultMediaUriPropertyInfo)] :: [(Symbol, *)])

type instance SignalList HitTestResult = HitTestResultSignalList
type HitTestResultSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method HitTestResult::context_is_editable
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_context_is_editable" webkit_hit_test_result_context_is_editable :: 
    Ptr HitTestResult ->                    -- _obj : TInterface "WebKit2" "HitTestResult"
    IO CInt


hitTestResultContextIsEditable ::
    (MonadIO m, HitTestResultK a) =>
    a ->                                    -- _obj
    m Bool
hitTestResultContextIsEditable _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_hit_test_result_context_is_editable _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method HitTestResult::context_is_image
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_context_is_image" webkit_hit_test_result_context_is_image :: 
    Ptr HitTestResult ->                    -- _obj : TInterface "WebKit2" "HitTestResult"
    IO CInt


hitTestResultContextIsImage ::
    (MonadIO m, HitTestResultK a) =>
    a ->                                    -- _obj
    m Bool
hitTestResultContextIsImage _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_hit_test_result_context_is_image _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method HitTestResult::context_is_link
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_context_is_link" webkit_hit_test_result_context_is_link :: 
    Ptr HitTestResult ->                    -- _obj : TInterface "WebKit2" "HitTestResult"
    IO CInt


hitTestResultContextIsLink ::
    (MonadIO m, HitTestResultK a) =>
    a ->                                    -- _obj
    m Bool
hitTestResultContextIsLink _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_hit_test_result_context_is_link _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method HitTestResult::context_is_media
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_context_is_media" webkit_hit_test_result_context_is_media :: 
    Ptr HitTestResult ->                    -- _obj : TInterface "WebKit2" "HitTestResult"
    IO CInt


hitTestResultContextIsMedia ::
    (MonadIO m, HitTestResultK a) =>
    a ->                                    -- _obj
    m Bool
hitTestResultContextIsMedia _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_hit_test_result_context_is_media _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method HitTestResult::context_is_scrollbar
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_context_is_scrollbar" webkit_hit_test_result_context_is_scrollbar :: 
    Ptr HitTestResult ->                    -- _obj : TInterface "WebKit2" "HitTestResult"
    IO CInt


hitTestResultContextIsScrollbar ::
    (MonadIO m, HitTestResultK a) =>
    a ->                                    -- _obj
    m Bool
hitTestResultContextIsScrollbar _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_hit_test_result_context_is_scrollbar _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method HitTestResult::context_is_selection
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_context_is_selection" webkit_hit_test_result_context_is_selection :: 
    Ptr HitTestResult ->                    -- _obj : TInterface "WebKit2" "HitTestResult"
    IO CInt


hitTestResultContextIsSelection ::
    (MonadIO m, HitTestResultK a) =>
    a ->                                    -- _obj
    m Bool
hitTestResultContextIsSelection _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_hit_test_result_context_is_selection _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method HitTestResult::get_context
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt32
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_context" webkit_hit_test_result_get_context :: 
    Ptr HitTestResult ->                    -- _obj : TInterface "WebKit2" "HitTestResult"
    IO Word32


hitTestResultGetContext ::
    (MonadIO m, HitTestResultK a) =>
    a ->                                    -- _obj
    m Word32
hitTestResultGetContext _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_hit_test_result_get_context _obj'
    touchManagedPtr _obj
    return result

-- method HitTestResult::get_image_uri
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_image_uri" webkit_hit_test_result_get_image_uri :: 
    Ptr HitTestResult ->                    -- _obj : TInterface "WebKit2" "HitTestResult"
    IO CString


hitTestResultGetImageUri ::
    (MonadIO m, HitTestResultK a) =>
    a ->                                    -- _obj
    m T.Text
hitTestResultGetImageUri _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_hit_test_result_get_image_uri _obj'
    checkUnexpectedReturnNULL "webkit_hit_test_result_get_image_uri" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method HitTestResult::get_link_label
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_link_label" webkit_hit_test_result_get_link_label :: 
    Ptr HitTestResult ->                    -- _obj : TInterface "WebKit2" "HitTestResult"
    IO CString


hitTestResultGetLinkLabel ::
    (MonadIO m, HitTestResultK a) =>
    a ->                                    -- _obj
    m T.Text
hitTestResultGetLinkLabel _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_hit_test_result_get_link_label _obj'
    checkUnexpectedReturnNULL "webkit_hit_test_result_get_link_label" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method HitTestResult::get_link_title
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_link_title" webkit_hit_test_result_get_link_title :: 
    Ptr HitTestResult ->                    -- _obj : TInterface "WebKit2" "HitTestResult"
    IO CString


hitTestResultGetLinkTitle ::
    (MonadIO m, HitTestResultK a) =>
    a ->                                    -- _obj
    m T.Text
hitTestResultGetLinkTitle _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_hit_test_result_get_link_title _obj'
    checkUnexpectedReturnNULL "webkit_hit_test_result_get_link_title" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method HitTestResult::get_link_uri
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_link_uri" webkit_hit_test_result_get_link_uri :: 
    Ptr HitTestResult ->                    -- _obj : TInterface "WebKit2" "HitTestResult"
    IO CString


hitTestResultGetLinkUri ::
    (MonadIO m, HitTestResultK a) =>
    a ->                                    -- _obj
    m T.Text
hitTestResultGetLinkUri _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_hit_test_result_get_link_uri _obj'
    checkUnexpectedReturnNULL "webkit_hit_test_result_get_link_uri" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method HitTestResult::get_media_uri
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "HitTestResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_media_uri" webkit_hit_test_result_get_media_uri :: 
    Ptr HitTestResult ->                    -- _obj : TInterface "WebKit2" "HitTestResult"
    IO CString


hitTestResultGetMediaUri ::
    (MonadIO m, HitTestResultK a) =>
    a ->                                    -- _obj
    m T.Text
hitTestResultGetMediaUri _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_hit_test_result_get_media_uri _obj'
    checkUnexpectedReturnNULL "webkit_hit_test_result_get_media_uri" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'