{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)

/No description available in the introspection data./
-}

#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
       && !defined(__HADDOCK_VERSION__))

module GI.WebKit2.Objects.HitTestResult
    (

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


 -- * Methods
-- ** contextIsEditable #method:contextIsEditable#

#if ENABLE_OVERLOADING
    HitTestResultContextIsEditableMethodInfo,
#endif
    hitTestResultContextIsEditable          ,


-- ** contextIsImage #method:contextIsImage#

#if ENABLE_OVERLOADING
    HitTestResultContextIsImageMethodInfo   ,
#endif
    hitTestResultContextIsImage             ,


-- ** contextIsLink #method:contextIsLink#

#if ENABLE_OVERLOADING
    HitTestResultContextIsLinkMethodInfo    ,
#endif
    hitTestResultContextIsLink              ,


-- ** contextIsMedia #method:contextIsMedia#

#if ENABLE_OVERLOADING
    HitTestResultContextIsMediaMethodInfo   ,
#endif
    hitTestResultContextIsMedia             ,


-- ** contextIsScrollbar #method:contextIsScrollbar#

#if ENABLE_OVERLOADING
    HitTestResultContextIsScrollbarMethodInfo,
#endif
    hitTestResultContextIsScrollbar         ,


-- ** contextIsSelection #method:contextIsSelection#

#if ENABLE_OVERLOADING
    HitTestResultContextIsSelectionMethodInfo,
#endif
    hitTestResultContextIsSelection         ,


-- ** getContext #method:getContext#

#if ENABLE_OVERLOADING
    HitTestResultGetContextMethodInfo       ,
#endif
    hitTestResultGetContext                 ,


-- ** getImageUri #method:getImageUri#

#if ENABLE_OVERLOADING
    HitTestResultGetImageUriMethodInfo      ,
#endif
    hitTestResultGetImageUri                ,


-- ** getLinkLabel #method:getLinkLabel#

#if ENABLE_OVERLOADING
    HitTestResultGetLinkLabelMethodInfo     ,
#endif
    hitTestResultGetLinkLabel               ,


-- ** getLinkTitle #method:getLinkTitle#

#if ENABLE_OVERLOADING
    HitTestResultGetLinkTitleMethodInfo     ,
#endif
    hitTestResultGetLinkTitle               ,


-- ** getLinkUri #method:getLinkUri#

#if ENABLE_OVERLOADING
    HitTestResultGetLinkUriMethodInfo       ,
#endif
    hitTestResultGetLinkUri                 ,


-- ** getMediaUri #method:getMediaUri#

#if ENABLE_OVERLOADING
    HitTestResultGetMediaUriMethodInfo      ,
#endif
    hitTestResultGetMediaUri                ,




 -- * Properties
-- ** context #attr:context#
{- | Bitmask of 'GI.WebKit2.Flags.HitTestResultContext' flags representing
the context of the 'GI.WebKit2.Objects.HitTestResult.HitTestResult'.
-}
#if ENABLE_OVERLOADING
    HitTestResultContextPropertyInfo        ,
#endif
    constructHitTestResultContext           ,
    getHitTestResultContext                 ,
#if ENABLE_OVERLOADING
    hitTestResultContext                    ,
#endif


-- ** imageUri #attr:imageUri#
{- | The URI of the image if flag 'GI.WebKit2.Flags.HitTestResultContextImage'
is present in 'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@
-}
#if ENABLE_OVERLOADING
    HitTestResultImageUriPropertyInfo       ,
#endif
    constructHitTestResultImageUri          ,
    getHitTestResultImageUri                ,
#if ENABLE_OVERLOADING
    hitTestResultImageUri                   ,
#endif


-- ** linkLabel #attr:linkLabel#
{- | The label of the link if flag 'GI.WebKit2.Flags.HitTestResultContextLink'
is present in 'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@
-}
#if ENABLE_OVERLOADING
    HitTestResultLinkLabelPropertyInfo      ,
#endif
    constructHitTestResultLinkLabel         ,
    getHitTestResultLinkLabel               ,
#if ENABLE_OVERLOADING
    hitTestResultLinkLabel                  ,
#endif


-- ** linkTitle #attr:linkTitle#
{- | The title of the link if flag 'GI.WebKit2.Flags.HitTestResultContextLink'
is present in 'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@
-}
#if ENABLE_OVERLOADING
    HitTestResultLinkTitlePropertyInfo      ,
#endif
    constructHitTestResultLinkTitle         ,
    getHitTestResultLinkTitle               ,
#if ENABLE_OVERLOADING
    hitTestResultLinkTitle                  ,
#endif


-- ** linkUri #attr:linkUri#
{- | The URI of the link if flag 'GI.WebKit2.Flags.HitTestResultContextLink'
is present in 'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@
-}
#if ENABLE_OVERLOADING
    HitTestResultLinkUriPropertyInfo        ,
#endif
    constructHitTestResultLinkUri           ,
    getHitTestResultLinkUri                 ,
#if ENABLE_OVERLOADING
    hitTestResultLinkUri                    ,
#endif


-- ** mediaUri #attr:mediaUri#
{- | The URI of the media if flag 'GI.WebKit2.Flags.HitTestResultContextMedia'
is present in 'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@
-}
#if ENABLE_OVERLOADING
    HitTestResultMediaUriPropertyInfo       ,
#endif
    constructHitTestResultMediaUri          ,
    getHitTestResultMediaUri                ,
#if ENABLE_OVERLOADING
    hitTestResultMediaUri                   ,
#endif




    ) 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 qualified GI.GObject.Objects.Object as GObject.Object

-- | Memory-managed wrapper type.
newtype HitTestResult = HitTestResult (ManagedPtr HitTestResult)
foreign import ccall "webkit_hit_test_result_get_type"
    c_webkit_hit_test_result_get_type :: IO GType

instance GObject HitTestResult where
    gobjectType = c_webkit_hit_test_result_get_type


-- | Type class for types which can be safely cast to `HitTestResult`, for instance with `toHitTestResult`.
class (GObject o, O.IsDescendantOf HitTestResult o) => IsHitTestResult o
instance (GObject o, O.IsDescendantOf HitTestResult o) => IsHitTestResult o

instance O.HasParentTypes HitTestResult
type instance O.ParentTypes HitTestResult = '[GObject.Object.Object]

-- | Cast to `HitTestResult`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toHitTestResult :: (MonadIO m, IsHitTestResult o) => o -> m HitTestResult
toHitTestResult = liftIO . unsafeCastTo HitTestResult

-- | A convenience alias for `Nothing` :: `Maybe` `HitTestResult`.
noHitTestResult :: Maybe HitTestResult
noHitTestResult = Nothing

#if ENABLE_OVERLOADING
type family ResolveHitTestResultMethod (t :: Symbol) (o :: *) :: * where
    ResolveHitTestResultMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveHitTestResultMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveHitTestResultMethod "contextIsEditable" o = HitTestResultContextIsEditableMethodInfo
    ResolveHitTestResultMethod "contextIsImage" o = HitTestResultContextIsImageMethodInfo
    ResolveHitTestResultMethod "contextIsLink" o = HitTestResultContextIsLinkMethodInfo
    ResolveHitTestResultMethod "contextIsMedia" o = HitTestResultContextIsMediaMethodInfo
    ResolveHitTestResultMethod "contextIsScrollbar" o = HitTestResultContextIsScrollbarMethodInfo
    ResolveHitTestResultMethod "contextIsSelection" o = HitTestResultContextIsSelectionMethodInfo
    ResolveHitTestResultMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveHitTestResultMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveHitTestResultMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveHitTestResultMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveHitTestResultMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveHitTestResultMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveHitTestResultMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveHitTestResultMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveHitTestResultMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveHitTestResultMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveHitTestResultMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveHitTestResultMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveHitTestResultMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveHitTestResultMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveHitTestResultMethod "getContext" o = HitTestResultGetContextMethodInfo
    ResolveHitTestResultMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveHitTestResultMethod "getImageUri" o = HitTestResultGetImageUriMethodInfo
    ResolveHitTestResultMethod "getLinkLabel" o = HitTestResultGetLinkLabelMethodInfo
    ResolveHitTestResultMethod "getLinkTitle" o = HitTestResultGetLinkTitleMethodInfo
    ResolveHitTestResultMethod "getLinkUri" o = HitTestResultGetLinkUriMethodInfo
    ResolveHitTestResultMethod "getMediaUri" o = HitTestResultGetMediaUriMethodInfo
    ResolveHitTestResultMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveHitTestResultMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveHitTestResultMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveHitTestResultMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveHitTestResultMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveHitTestResultMethod t HitTestResult, O.MethodInfo info HitTestResult p) => OL.IsLabel t (HitTestResult -> 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

-- VVV Prop "context"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just False,Nothing)

{- |
Get the value of the “@context@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' hitTestResult #context
@
-}
getHitTestResultContext :: (MonadIO m, IsHitTestResult o) => o -> m Word32
getHitTestResultContext obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "context"

{- |
Construct a `GValueConstruct` with valid value for the “@context@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructHitTestResultContext :: (IsHitTestResult o) => Word32 -> IO (GValueConstruct o)
constructHitTestResultContext val = B.Properties.constructObjectPropertyUInt32 "context" val

#if ENABLE_OVERLOADING
data HitTestResultContextPropertyInfo
instance AttrInfo HitTestResultContextPropertyInfo where
    type AttrAllowedOps HitTestResultContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint HitTestResultContextPropertyInfo = (~) Word32
    type AttrBaseTypeConstraint HitTestResultContextPropertyInfo = IsHitTestResult
    type AttrGetType HitTestResultContextPropertyInfo = Word32
    type AttrLabel HitTestResultContextPropertyInfo = "context"
    type AttrOrigin HitTestResultContextPropertyInfo = HitTestResult
    attrGet _ = getHitTestResultContext
    attrSet _ = undefined
    attrConstruct _ = constructHitTestResultContext
    attrClear _ = undefined
#endif

-- VVV Prop "image-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just True,Nothing)

{- |
Get the value of the “@image-uri@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' hitTestResult #imageUri
@
-}
getHitTestResultImageUri :: (MonadIO m, IsHitTestResult o) => o -> m (Maybe T.Text)
getHitTestResultImageUri obj = liftIO $ B.Properties.getObjectPropertyString obj "image-uri"

{- |
Construct a `GValueConstruct` with valid value for the “@image-uri@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructHitTestResultImageUri :: (IsHitTestResult o) => T.Text -> IO (GValueConstruct o)
constructHitTestResultImageUri val = B.Properties.constructObjectPropertyString "image-uri" (Just val)

#if ENABLE_OVERLOADING
data HitTestResultImageUriPropertyInfo
instance AttrInfo HitTestResultImageUriPropertyInfo where
    type AttrAllowedOps HitTestResultImageUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint HitTestResultImageUriPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint HitTestResultImageUriPropertyInfo = IsHitTestResult
    type AttrGetType HitTestResultImageUriPropertyInfo = (Maybe T.Text)
    type AttrLabel HitTestResultImageUriPropertyInfo = "image-uri"
    type AttrOrigin HitTestResultImageUriPropertyInfo = HitTestResult
    attrGet _ = getHitTestResultImageUri
    attrSet _ = undefined
    attrConstruct _ = constructHitTestResultImageUri
    attrClear _ = undefined
#endif

-- VVV Prop "link-label"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just True,Nothing)

{- |
Get the value of the “@link-label@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' hitTestResult #linkLabel
@
-}
getHitTestResultLinkLabel :: (MonadIO m, IsHitTestResult o) => o -> m (Maybe T.Text)
getHitTestResultLinkLabel obj = liftIO $ B.Properties.getObjectPropertyString obj "link-label"

{- |
Construct a `GValueConstruct` with valid value for the “@link-label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructHitTestResultLinkLabel :: (IsHitTestResult o) => T.Text -> IO (GValueConstruct o)
constructHitTestResultLinkLabel val = B.Properties.constructObjectPropertyString "link-label" (Just val)

#if ENABLE_OVERLOADING
data HitTestResultLinkLabelPropertyInfo
instance AttrInfo HitTestResultLinkLabelPropertyInfo where
    type AttrAllowedOps HitTestResultLinkLabelPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint HitTestResultLinkLabelPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint HitTestResultLinkLabelPropertyInfo = IsHitTestResult
    type AttrGetType HitTestResultLinkLabelPropertyInfo = (Maybe T.Text)
    type AttrLabel HitTestResultLinkLabelPropertyInfo = "link-label"
    type AttrOrigin HitTestResultLinkLabelPropertyInfo = HitTestResult
    attrGet _ = getHitTestResultLinkLabel
    attrSet _ = undefined
    attrConstruct _ = constructHitTestResultLinkLabel
    attrClear _ = undefined
#endif

-- VVV Prop "link-title"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just True,Nothing)

{- |
Get the value of the “@link-title@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' hitTestResult #linkTitle
@
-}
getHitTestResultLinkTitle :: (MonadIO m, IsHitTestResult o) => o -> m (Maybe T.Text)
getHitTestResultLinkTitle obj = liftIO $ B.Properties.getObjectPropertyString obj "link-title"

{- |
Construct a `GValueConstruct` with valid value for the “@link-title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructHitTestResultLinkTitle :: (IsHitTestResult o) => T.Text -> IO (GValueConstruct o)
constructHitTestResultLinkTitle val = B.Properties.constructObjectPropertyString "link-title" (Just val)

#if ENABLE_OVERLOADING
data HitTestResultLinkTitlePropertyInfo
instance AttrInfo HitTestResultLinkTitlePropertyInfo where
    type AttrAllowedOps HitTestResultLinkTitlePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint HitTestResultLinkTitlePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint HitTestResultLinkTitlePropertyInfo = IsHitTestResult
    type AttrGetType HitTestResultLinkTitlePropertyInfo = (Maybe T.Text)
    type AttrLabel HitTestResultLinkTitlePropertyInfo = "link-title"
    type AttrOrigin HitTestResultLinkTitlePropertyInfo = HitTestResult
    attrGet _ = getHitTestResultLinkTitle
    attrSet _ = undefined
    attrConstruct _ = constructHitTestResultLinkTitle
    attrClear _ = undefined
#endif

-- VVV Prop "link-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just True,Nothing)

{- |
Get the value of the “@link-uri@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' hitTestResult #linkUri
@
-}
getHitTestResultLinkUri :: (MonadIO m, IsHitTestResult o) => o -> m (Maybe T.Text)
getHitTestResultLinkUri obj = liftIO $ B.Properties.getObjectPropertyString obj "link-uri"

{- |
Construct a `GValueConstruct` with valid value for the “@link-uri@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructHitTestResultLinkUri :: (IsHitTestResult o) => T.Text -> IO (GValueConstruct o)
constructHitTestResultLinkUri val = B.Properties.constructObjectPropertyString "link-uri" (Just val)

#if ENABLE_OVERLOADING
data HitTestResultLinkUriPropertyInfo
instance AttrInfo HitTestResultLinkUriPropertyInfo where
    type AttrAllowedOps HitTestResultLinkUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint HitTestResultLinkUriPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint HitTestResultLinkUriPropertyInfo = IsHitTestResult
    type AttrGetType HitTestResultLinkUriPropertyInfo = (Maybe T.Text)
    type AttrLabel HitTestResultLinkUriPropertyInfo = "link-uri"
    type AttrOrigin HitTestResultLinkUriPropertyInfo = HitTestResult
    attrGet _ = getHitTestResultLinkUri
    attrSet _ = undefined
    attrConstruct _ = constructHitTestResultLinkUri
    attrClear _ = undefined
#endif

-- VVV Prop "media-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just True,Nothing)

{- |
Get the value of the “@media-uri@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' hitTestResult #mediaUri
@
-}
getHitTestResultMediaUri :: (MonadIO m, IsHitTestResult o) => o -> m (Maybe T.Text)
getHitTestResultMediaUri obj = liftIO $ B.Properties.getObjectPropertyString obj "media-uri"

{- |
Construct a `GValueConstruct` with valid value for the “@media-uri@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructHitTestResultMediaUri :: (IsHitTestResult o) => T.Text -> IO (GValueConstruct o)
constructHitTestResultMediaUri val = B.Properties.constructObjectPropertyString "media-uri" (Just val)

#if ENABLE_OVERLOADING
data HitTestResultMediaUriPropertyInfo
instance AttrInfo HitTestResultMediaUriPropertyInfo where
    type AttrAllowedOps HitTestResultMediaUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint HitTestResultMediaUriPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint HitTestResultMediaUriPropertyInfo = IsHitTestResult
    type AttrGetType HitTestResultMediaUriPropertyInfo = (Maybe T.Text)
    type AttrLabel HitTestResultMediaUriPropertyInfo = "media-uri"
    type AttrOrigin HitTestResultMediaUriPropertyInfo = HitTestResult
    attrGet _ = getHitTestResultMediaUri
    attrSet _ = undefined
    attrConstruct _ = constructHitTestResultMediaUri
    attrClear _ = undefined
#endif

#if ENABLE_OVERLOADING
instance O.HasAttributeList HitTestResult
type instance O.AttributeList HitTestResult = HitTestResultAttributeList
type HitTestResultAttributeList = ('[ '("context", HitTestResultContextPropertyInfo), '("imageUri", HitTestResultImageUriPropertyInfo), '("linkLabel", HitTestResultLinkLabelPropertyInfo), '("linkTitle", HitTestResultLinkTitlePropertyInfo), '("linkUri", HitTestResultLinkUriPropertyInfo), '("mediaUri", HitTestResultMediaUriPropertyInfo)] :: [(Symbol, *)])
#endif

#if ENABLE_OVERLOADING
hitTestResultContext :: AttrLabelProxy "context"
hitTestResultContext = AttrLabelProxy

hitTestResultImageUri :: AttrLabelProxy "imageUri"
hitTestResultImageUri = AttrLabelProxy

hitTestResultLinkLabel :: AttrLabelProxy "linkLabel"
hitTestResultLinkLabel = AttrLabelProxy

hitTestResultLinkTitle :: AttrLabelProxy "linkTitle"
hitTestResultLinkTitle = AttrLabelProxy

hitTestResultLinkUri :: AttrLabelProxy "linkUri"
hitTestResultLinkUri = AttrLabelProxy

hitTestResultMediaUri :: AttrLabelProxy "mediaUri"
hitTestResultMediaUri = AttrLabelProxy

#endif

#if ENABLE_OVERLOADING
type instance O.SignalList HitTestResult = HitTestResultSignalList
type HitTestResultSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

#endif

-- method HitTestResult::context_is_editable
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "hit_test_result", argType = TInterface (Name {namespace = "WebKit2", name = "HitTestResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitHitTestResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CInt

{- |
Gets whether 'GI.WebKit2.Flags.HitTestResultContextEditable' flag is present in
'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@.
-}
hitTestResultContextIsEditable ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    {- ^ /@hitTestResult@/: a 'GI.WebKit2.Objects.HitTestResult.HitTestResult' -}
    -> m Bool
    {- ^ __Returns:__ 'True' if there\'s an editable element at the coordinates of the /@hitTestResult@/,
   or 'False' otherwise -}
hitTestResultContextIsEditable hitTestResult = liftIO $ do
    hitTestResult' <- unsafeManagedPtrCastPtr hitTestResult
    result <- webkit_hit_test_result_context_is_editable hitTestResult'
    let result' = (/= 0) result
    touchManagedPtr hitTestResult
    return result'

#if ENABLE_OVERLOADING
data HitTestResultContextIsEditableMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsHitTestResult a) => O.MethodInfo HitTestResultContextIsEditableMethodInfo a signature where
    overloadedMethod _ = hitTestResultContextIsEditable

#endif

-- method HitTestResult::context_is_image
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "hit_test_result", argType = TInterface (Name {namespace = "WebKit2", name = "HitTestResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitHitTestResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CInt

{- |
Gets whether 'GI.WebKit2.Flags.HitTestResultContextImage' flag is present in
'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@.
-}
hitTestResultContextIsImage ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    {- ^ /@hitTestResult@/: a 'GI.WebKit2.Objects.HitTestResult.HitTestResult' -}
    -> m Bool
    {- ^ __Returns:__ 'True' if there\'s an image element in the coordinates of the Hit Test,
   or 'False' otherwise -}
hitTestResultContextIsImage hitTestResult = liftIO $ do
    hitTestResult' <- unsafeManagedPtrCastPtr hitTestResult
    result <- webkit_hit_test_result_context_is_image hitTestResult'
    let result' = (/= 0) result
    touchManagedPtr hitTestResult
    return result'

#if ENABLE_OVERLOADING
data HitTestResultContextIsImageMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsHitTestResult a) => O.MethodInfo HitTestResultContextIsImageMethodInfo a signature where
    overloadedMethod _ = hitTestResultContextIsImage

#endif

-- method HitTestResult::context_is_link
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "hit_test_result", argType = TInterface (Name {namespace = "WebKit2", name = "HitTestResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitHitTestResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CInt

{- |
Gets whether 'GI.WebKit2.Flags.HitTestResultContextLink' flag is present in
'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@.
-}
hitTestResultContextIsLink ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    {- ^ /@hitTestResult@/: a 'GI.WebKit2.Objects.HitTestResult.HitTestResult' -}
    -> m Bool
    {- ^ __Returns:__ 'True' if there\'s a link element in the coordinates of the Hit Test,
   or 'False' otherwise -}
hitTestResultContextIsLink hitTestResult = liftIO $ do
    hitTestResult' <- unsafeManagedPtrCastPtr hitTestResult
    result <- webkit_hit_test_result_context_is_link hitTestResult'
    let result' = (/= 0) result
    touchManagedPtr hitTestResult
    return result'

#if ENABLE_OVERLOADING
data HitTestResultContextIsLinkMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsHitTestResult a) => O.MethodInfo HitTestResultContextIsLinkMethodInfo a signature where
    overloadedMethod _ = hitTestResultContextIsLink

#endif

-- method HitTestResult::context_is_media
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "hit_test_result", argType = TInterface (Name {namespace = "WebKit2", name = "HitTestResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitHitTestResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CInt

{- |
Gets whether 'GI.WebKit2.Flags.HitTestResultContextMedia' flag is present in
'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@.
-}
hitTestResultContextIsMedia ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    {- ^ /@hitTestResult@/: a 'GI.WebKit2.Objects.HitTestResult.HitTestResult' -}
    -> m Bool
    {- ^ __Returns:__ 'True' if there\'s a media element in the coordinates of the Hit Test,
   or 'False' otherwise -}
hitTestResultContextIsMedia hitTestResult = liftIO $ do
    hitTestResult' <- unsafeManagedPtrCastPtr hitTestResult
    result <- webkit_hit_test_result_context_is_media hitTestResult'
    let result' = (/= 0) result
    touchManagedPtr hitTestResult
    return result'

#if ENABLE_OVERLOADING
data HitTestResultContextIsMediaMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsHitTestResult a) => O.MethodInfo HitTestResultContextIsMediaMethodInfo a signature where
    overloadedMethod _ = hitTestResultContextIsMedia

#endif

-- method HitTestResult::context_is_scrollbar
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "hit_test_result", argType = TInterface (Name {namespace = "WebKit2", name = "HitTestResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitHitTestResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CInt

{- |
Gets whether 'GI.WebKit2.Flags.HitTestResultContextScrollbar' flag is present in
'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@.
-}
hitTestResultContextIsScrollbar ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    {- ^ /@hitTestResult@/: a 'GI.WebKit2.Objects.HitTestResult.HitTestResult' -}
    -> m Bool
    {- ^ __Returns:__ 'True' if there\'s a scrollbar element at the coordinates of the /@hitTestResult@/,
   or 'False' otherwise -}
hitTestResultContextIsScrollbar hitTestResult = liftIO $ do
    hitTestResult' <- unsafeManagedPtrCastPtr hitTestResult
    result <- webkit_hit_test_result_context_is_scrollbar hitTestResult'
    let result' = (/= 0) result
    touchManagedPtr hitTestResult
    return result'

#if ENABLE_OVERLOADING
data HitTestResultContextIsScrollbarMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsHitTestResult a) => O.MethodInfo HitTestResultContextIsScrollbarMethodInfo a signature where
    overloadedMethod _ = hitTestResultContextIsScrollbar

#endif

-- method HitTestResult::context_is_selection
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "hit_test_result", argType = TInterface (Name {namespace = "WebKit2", name = "HitTestResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitHitTestResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CInt

{- |
Gets whether 'GI.WebKit2.Flags.HitTestResultContextSelection' flag is present in
'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@.

/Since: 2.8/
-}
hitTestResultContextIsSelection ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    {- ^ /@hitTestResult@/: a 'GI.WebKit2.Objects.HitTestResult.HitTestResult' -}
    -> m Bool
    {- ^ __Returns:__ 'True' if there\'s a selected element at the coordinates of the /@hitTestResult@/,
   or 'False' otherwise -}
hitTestResultContextIsSelection hitTestResult = liftIO $ do
    hitTestResult' <- unsafeManagedPtrCastPtr hitTestResult
    result <- webkit_hit_test_result_context_is_selection hitTestResult'
    let result' = (/= 0) result
    touchManagedPtr hitTestResult
    return result'

#if ENABLE_OVERLOADING
data HitTestResultContextIsSelectionMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsHitTestResult a) => O.MethodInfo HitTestResultContextIsSelectionMethodInfo a signature where
    overloadedMethod _ = hitTestResultContextIsSelection

#endif

-- method HitTestResult::get_context
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "hit_test_result", argType = TInterface (Name {namespace = "WebKit2", name = "HitTestResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitHitTestResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUInt)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_context" webkit_hit_test_result_get_context ::
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO Word32

{- |
Gets the value of the 'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@ property.
-}
hitTestResultGetContext ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    {- ^ /@hitTestResult@/: a 'GI.WebKit2.Objects.HitTestResult.HitTestResult' -}
    -> m Word32
    {- ^ __Returns:__ a bitmask of 'GI.WebKit2.Flags.HitTestResultContext' flags -}
hitTestResultGetContext hitTestResult = liftIO $ do
    hitTestResult' <- unsafeManagedPtrCastPtr hitTestResult
    result <- webkit_hit_test_result_get_context hitTestResult'
    touchManagedPtr hitTestResult
    return result

#if ENABLE_OVERLOADING
data HitTestResultGetContextMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsHitTestResult a) => O.MethodInfo HitTestResultGetContextMethodInfo a signature where
    overloadedMethod _ = hitTestResultGetContext

#endif

-- method HitTestResult::get_image_uri
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "hit_test_result", argType = TInterface (Name {namespace = "WebKit2", name = "HitTestResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitHitTestResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CString

{- |
Gets the value of the 'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/image-uri/@ property.
-}
hitTestResultGetImageUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    {- ^ /@hitTestResult@/: a 'GI.WebKit2.Objects.HitTestResult.HitTestResult' -}
    -> m (Maybe T.Text)
    {- ^ __Returns:__ the URI of the image element in the coordinates of the Hit Test,
   or 'Nothing' if there isn\'t an image element in /@hitTestResult@/ context -}
hitTestResultGetImageUri hitTestResult = liftIO $ do
    hitTestResult' <- unsafeManagedPtrCastPtr hitTestResult
    result <- webkit_hit_test_result_get_image_uri hitTestResult'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- cstringToText result'
        return result''
    touchManagedPtr hitTestResult
    return maybeResult

#if ENABLE_OVERLOADING
data HitTestResultGetImageUriMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHitTestResult a) => O.MethodInfo HitTestResultGetImageUriMethodInfo a signature where
    overloadedMethod _ = hitTestResultGetImageUri

#endif

-- method HitTestResult::get_link_label
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "hit_test_result", argType = TInterface (Name {namespace = "WebKit2", name = "HitTestResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitHitTestResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CString

{- |
Gets the value of the 'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/link-label/@ property.
-}
hitTestResultGetLinkLabel ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    {- ^ /@hitTestResult@/: a 'GI.WebKit2.Objects.HitTestResult.HitTestResult' -}
    -> m (Maybe T.Text)
    {- ^ __Returns:__ the label of the link element in the coordinates of the Hit Test,
   or 'Nothing' if there isn\'t a link element in /@hitTestResult@/ context or the
   link element doesn\'t have a label -}
hitTestResultGetLinkLabel hitTestResult = liftIO $ do
    hitTestResult' <- unsafeManagedPtrCastPtr hitTestResult
    result <- webkit_hit_test_result_get_link_label hitTestResult'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- cstringToText result'
        return result''
    touchManagedPtr hitTestResult
    return maybeResult

#if ENABLE_OVERLOADING
data HitTestResultGetLinkLabelMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHitTestResult a) => O.MethodInfo HitTestResultGetLinkLabelMethodInfo a signature where
    overloadedMethod _ = hitTestResultGetLinkLabel

#endif

-- method HitTestResult::get_link_title
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "hit_test_result", argType = TInterface (Name {namespace = "WebKit2", name = "HitTestResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitHitTestResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CString

{- |
Gets the value of the 'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/link-title/@ property.
-}
hitTestResultGetLinkTitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    {- ^ /@hitTestResult@/: a 'GI.WebKit2.Objects.HitTestResult.HitTestResult' -}
    -> m (Maybe T.Text)
    {- ^ __Returns:__ the title of the link element in the coordinates of the Hit Test,
   or 'Nothing' if there isn\'t a link element in /@hitTestResult@/ context or the
   link element doesn\'t have a title -}
hitTestResultGetLinkTitle hitTestResult = liftIO $ do
    hitTestResult' <- unsafeManagedPtrCastPtr hitTestResult
    result <- webkit_hit_test_result_get_link_title hitTestResult'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- cstringToText result'
        return result''
    touchManagedPtr hitTestResult
    return maybeResult

#if ENABLE_OVERLOADING
data HitTestResultGetLinkTitleMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHitTestResult a) => O.MethodInfo HitTestResultGetLinkTitleMethodInfo a signature where
    overloadedMethod _ = hitTestResultGetLinkTitle

#endif

-- method HitTestResult::get_link_uri
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "hit_test_result", argType = TInterface (Name {namespace = "WebKit2", name = "HitTestResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitHitTestResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CString

{- |
Gets the value of the 'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/link-uri/@ property.
-}
hitTestResultGetLinkUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    {- ^ /@hitTestResult@/: a 'GI.WebKit2.Objects.HitTestResult.HitTestResult' -}
    -> m (Maybe T.Text)
    {- ^ __Returns:__ the URI of the link element in the coordinates of the Hit Test,
   or 'Nothing' if there isn\'t a link element in /@hitTestResult@/ context -}
hitTestResultGetLinkUri hitTestResult = liftIO $ do
    hitTestResult' <- unsafeManagedPtrCastPtr hitTestResult
    result <- webkit_hit_test_result_get_link_uri hitTestResult'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- cstringToText result'
        return result''
    touchManagedPtr hitTestResult
    return maybeResult

#if ENABLE_OVERLOADING
data HitTestResultGetLinkUriMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHitTestResult a) => O.MethodInfo HitTestResultGetLinkUriMethodInfo a signature where
    overloadedMethod _ = hitTestResultGetLinkUri

#endif

-- method HitTestResult::get_media_uri
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "hit_test_result", argType = TInterface (Name {namespace = "WebKit2", name = "HitTestResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitHitTestResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CString

{- |
Gets the value of the 'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/media-uri/@ property.
-}
hitTestResultGetMediaUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    {- ^ /@hitTestResult@/: a 'GI.WebKit2.Objects.HitTestResult.HitTestResult' -}
    -> m (Maybe T.Text)
    {- ^ __Returns:__ the URI of the media element in the coordinates of the Hit Test,
   or 'Nothing' if there isn\'t a media element in /@hitTestResult@/ context -}
hitTestResultGetMediaUri hitTestResult = liftIO $ do
    hitTestResult' <- unsafeManagedPtrCastPtr hitTestResult
    result <- webkit_hit_test_result_get_media_uri hitTestResult'
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- cstringToText result'
        return result''
    touchManagedPtr hitTestResult
    return maybeResult

#if ENABLE_OVERLOADING
data HitTestResultGetMediaUriMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHitTestResult a) => O.MethodInfo HitTestResultGetMediaUriMethodInfo a signature where
    overloadedMethod _ = hitTestResultGetMediaUri

#endif