{- |
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.WebKit2WebExtension.Objects.DOMXPathResult
    ( 

-- * Exported types
    DOMXPathResult(..)                      ,
    IsDOMXPathResult                        ,
    toDOMXPathResult                        ,
    noDOMXPathResult                        ,


 -- * Methods
-- ** getBooleanValue #method:getBooleanValue#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultGetBooleanValueMethodInfo ,
#endif
    dOMXPathResultGetBooleanValue           ,


-- ** getInvalidIteratorState #method:getInvalidIteratorState#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultGetInvalidIteratorStateMethodInfo,
#endif
    dOMXPathResultGetInvalidIteratorState   ,


-- ** getNumberValue #method:getNumberValue#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultGetNumberValueMethodInfo  ,
#endif
    dOMXPathResultGetNumberValue            ,


-- ** getResultType #method:getResultType#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultGetResultTypeMethodInfo   ,
#endif
    dOMXPathResultGetResultType             ,


-- ** getSingleNodeValue #method:getSingleNodeValue#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultGetSingleNodeValueMethodInfo,
#endif
    dOMXPathResultGetSingleNodeValue        ,


-- ** getSnapshotLength #method:getSnapshotLength#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultGetSnapshotLengthMethodInfo,
#endif
    dOMXPathResultGetSnapshotLength         ,


-- ** getStringValue #method:getStringValue#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultGetStringValueMethodInfo  ,
#endif
    dOMXPathResultGetStringValue            ,


-- ** iterateNext #method:iterateNext#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultIterateNextMethodInfo     ,
#endif
    dOMXPathResultIterateNext               ,


-- ** snapshotItem #method:snapshotItem#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultSnapshotItemMethodInfo    ,
#endif
    dOMXPathResultSnapshotItem              ,




 -- * Properties
-- ** booleanValue #attr:booleanValue#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultBooleanValuePropertyInfo  ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMXPathResultBooleanValue              ,
#endif
    getDOMXPathResultBooleanValue           ,


-- ** invalidIteratorState #attr:invalidIteratorState#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultInvalidIteratorStatePropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMXPathResultInvalidIteratorState      ,
#endif
    getDOMXPathResultInvalidIteratorState   ,


-- ** numberValue #attr:numberValue#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultNumberValuePropertyInfo   ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMXPathResultNumberValue               ,
#endif
    getDOMXPathResultNumberValue            ,


-- ** resultType #attr:resultType#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultResultTypePropertyInfo    ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMXPathResultResultType                ,
#endif
    getDOMXPathResultResultType             ,


-- ** singleNodeValue #attr:singleNodeValue#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultSingleNodeValuePropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMXPathResultSingleNodeValue           ,
#endif
    getDOMXPathResultSingleNodeValue        ,


-- ** snapshotLength #attr:snapshotLength#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultSnapshotLengthPropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMXPathResultSnapshotLength            ,
#endif
    getDOMXPathResultSnapshotLength         ,


-- ** stringValue #attr:stringValue#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMXPathResultStringValuePropertyInfo   ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMXPathResultStringValue               ,
#endif
    getDOMXPathResultStringValue            ,




    ) 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 {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMNode as WebKit2WebExtension.DOMNode
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject

newtype DOMXPathResult = DOMXPathResult (ManagedPtr DOMXPathResult)
foreign import ccall "webkit_dom_xpath_result_get_type"
    c_webkit_dom_xpath_result_get_type :: IO GType

instance GObject DOMXPathResult where
    gobjectType _ = c_webkit_dom_xpath_result_get_type
    

class GObject o => IsDOMXPathResult o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError DOMXPathResult a) =>
    IsDOMXPathResult a
#endif
instance IsDOMXPathResult DOMXPathResult
instance WebKit2WebExtension.DOMObject.IsDOMObject DOMXPathResult
instance GObject.Object.IsObject DOMXPathResult

toDOMXPathResult :: (MonadIO m, IsDOMXPathResult o) => o -> m DOMXPathResult
toDOMXPathResult = liftIO . unsafeCastTo DOMXPathResult

noDOMXPathResult :: Maybe DOMXPathResult
noDOMXPathResult = Nothing

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveDOMXPathResultMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMXPathResultMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMXPathResultMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMXPathResultMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMXPathResultMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMXPathResultMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMXPathResultMethod "iterateNext" o = DOMXPathResultIterateNextMethodInfo
    ResolveDOMXPathResultMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMXPathResultMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMXPathResultMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMXPathResultMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMXPathResultMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMXPathResultMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveDOMXPathResultMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMXPathResultMethod "snapshotItem" o = DOMXPathResultSnapshotItemMethodInfo
    ResolveDOMXPathResultMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMXPathResultMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMXPathResultMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMXPathResultMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMXPathResultMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMXPathResultMethod "getBooleanValue" o = DOMXPathResultGetBooleanValueMethodInfo
    ResolveDOMXPathResultMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMXPathResultMethod "getInvalidIteratorState" o = DOMXPathResultGetInvalidIteratorStateMethodInfo
    ResolveDOMXPathResultMethod "getNumberValue" o = DOMXPathResultGetNumberValueMethodInfo
    ResolveDOMXPathResultMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMXPathResultMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMXPathResultMethod "getResultType" o = DOMXPathResultGetResultTypeMethodInfo
    ResolveDOMXPathResultMethod "getSingleNodeValue" o = DOMXPathResultGetSingleNodeValueMethodInfo
    ResolveDOMXPathResultMethod "getSnapshotLength" o = DOMXPathResultGetSnapshotLengthMethodInfo
    ResolveDOMXPathResultMethod "getStringValue" o = DOMXPathResultGetStringValueMethodInfo
    ResolveDOMXPathResultMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMXPathResultMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMXPathResultMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveDOMXPathResultMethod t DOMXPathResult, O.MethodInfo info DOMXPathResult p) => O.IsLabelProxy t (DOMXPathResult -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDOMXPathResultMethod t DOMXPathResult, O.MethodInfo info DOMXPathResult p) => O.IsLabel t (DOMXPathResult -> 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

-- VVV Prop "boolean-value"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMXPathResultBooleanValue :: (MonadIO m, IsDOMXPathResult o) => o -> m Bool
getDOMXPathResultBooleanValue obj = liftIO $ getObjectPropertyBool obj "boolean-value"

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultBooleanValuePropertyInfo
instance AttrInfo DOMXPathResultBooleanValuePropertyInfo where
    type AttrAllowedOps DOMXPathResultBooleanValuePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMXPathResultBooleanValuePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMXPathResultBooleanValuePropertyInfo = IsDOMXPathResult
    type AttrGetType DOMXPathResultBooleanValuePropertyInfo = Bool
    type AttrLabel DOMXPathResultBooleanValuePropertyInfo = "boolean-value"
    type AttrOrigin DOMXPathResultBooleanValuePropertyInfo = DOMXPathResult
    attrGet _ = getDOMXPathResultBooleanValue
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

-- VVV Prop "invalid-iterator-state"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMXPathResultInvalidIteratorState :: (MonadIO m, IsDOMXPathResult o) => o -> m Bool
getDOMXPathResultInvalidIteratorState obj = liftIO $ getObjectPropertyBool obj "invalid-iterator-state"

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultInvalidIteratorStatePropertyInfo
instance AttrInfo DOMXPathResultInvalidIteratorStatePropertyInfo where
    type AttrAllowedOps DOMXPathResultInvalidIteratorStatePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMXPathResultInvalidIteratorStatePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMXPathResultInvalidIteratorStatePropertyInfo = IsDOMXPathResult
    type AttrGetType DOMXPathResultInvalidIteratorStatePropertyInfo = Bool
    type AttrLabel DOMXPathResultInvalidIteratorStatePropertyInfo = "invalid-iterator-state"
    type AttrOrigin DOMXPathResultInvalidIteratorStatePropertyInfo = DOMXPathResult
    attrGet _ = getDOMXPathResultInvalidIteratorState
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

-- VVV Prop "number-value"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMXPathResultNumberValue :: (MonadIO m, IsDOMXPathResult o) => o -> m Double
getDOMXPathResultNumberValue obj = liftIO $ getObjectPropertyDouble obj "number-value"

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultNumberValuePropertyInfo
instance AttrInfo DOMXPathResultNumberValuePropertyInfo where
    type AttrAllowedOps DOMXPathResultNumberValuePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMXPathResultNumberValuePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMXPathResultNumberValuePropertyInfo = IsDOMXPathResult
    type AttrGetType DOMXPathResultNumberValuePropertyInfo = Double
    type AttrLabel DOMXPathResultNumberValuePropertyInfo = "number-value"
    type AttrOrigin DOMXPathResultNumberValuePropertyInfo = DOMXPathResult
    attrGet _ = getDOMXPathResultNumberValue
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

-- VVV Prop "result-type"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMXPathResultResultType :: (MonadIO m, IsDOMXPathResult o) => o -> m Word32
getDOMXPathResultResultType obj = liftIO $ getObjectPropertyUInt32 obj "result-type"

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultResultTypePropertyInfo
instance AttrInfo DOMXPathResultResultTypePropertyInfo where
    type AttrAllowedOps DOMXPathResultResultTypePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMXPathResultResultTypePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMXPathResultResultTypePropertyInfo = IsDOMXPathResult
    type AttrGetType DOMXPathResultResultTypePropertyInfo = Word32
    type AttrLabel DOMXPathResultResultTypePropertyInfo = "result-type"
    type AttrOrigin DOMXPathResultResultTypePropertyInfo = DOMXPathResult
    attrGet _ = getDOMXPathResultResultType
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

-- VVV Prop "single-node-value"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMXPathResultSingleNodeValue :: (MonadIO m, IsDOMXPathResult o) => o -> m (Maybe WebKit2WebExtension.DOMNode.DOMNode)
getDOMXPathResultSingleNodeValue obj = liftIO $ getObjectPropertyObject obj "single-node-value" WebKit2WebExtension.DOMNode.DOMNode

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultSingleNodeValuePropertyInfo
instance AttrInfo DOMXPathResultSingleNodeValuePropertyInfo where
    type AttrAllowedOps DOMXPathResultSingleNodeValuePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMXPathResultSingleNodeValuePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMXPathResultSingleNodeValuePropertyInfo = IsDOMXPathResult
    type AttrGetType DOMXPathResultSingleNodeValuePropertyInfo = (Maybe WebKit2WebExtension.DOMNode.DOMNode)
    type AttrLabel DOMXPathResultSingleNodeValuePropertyInfo = "single-node-value"
    type AttrOrigin DOMXPathResultSingleNodeValuePropertyInfo = DOMXPathResult
    attrGet _ = getDOMXPathResultSingleNodeValue
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

-- VVV Prop "snapshot-length"
   -- Type: TBasicType TULong
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMXPathResultSnapshotLength :: (MonadIO m, IsDOMXPathResult o) => o -> m CULong
getDOMXPathResultSnapshotLength obj = liftIO $ getObjectPropertyULong obj "snapshot-length"

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultSnapshotLengthPropertyInfo
instance AttrInfo DOMXPathResultSnapshotLengthPropertyInfo where
    type AttrAllowedOps DOMXPathResultSnapshotLengthPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMXPathResultSnapshotLengthPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMXPathResultSnapshotLengthPropertyInfo = IsDOMXPathResult
    type AttrGetType DOMXPathResultSnapshotLengthPropertyInfo = CULong
    type AttrLabel DOMXPathResultSnapshotLengthPropertyInfo = "snapshot-length"
    type AttrOrigin DOMXPathResultSnapshotLengthPropertyInfo = DOMXPathResult
    attrGet _ = getDOMXPathResultSnapshotLength
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

-- VVV Prop "string-value"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMXPathResultStringValue :: (MonadIO m, IsDOMXPathResult o) => o -> m (Maybe T.Text)
getDOMXPathResultStringValue obj = liftIO $ getObjectPropertyString obj "string-value"

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultStringValuePropertyInfo
instance AttrInfo DOMXPathResultStringValuePropertyInfo where
    type AttrAllowedOps DOMXPathResultStringValuePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMXPathResultStringValuePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMXPathResultStringValuePropertyInfo = IsDOMXPathResult
    type AttrGetType DOMXPathResultStringValuePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMXPathResultStringValuePropertyInfo = "string-value"
    type AttrOrigin DOMXPathResultStringValuePropertyInfo = DOMXPathResult
    attrGet _ = getDOMXPathResultStringValue
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList DOMXPathResult
type instance O.AttributeList DOMXPathResult = DOMXPathResultAttributeList
type DOMXPathResultAttributeList = ('[ '("booleanValue", DOMXPathResultBooleanValuePropertyInfo), '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("invalidIteratorState", DOMXPathResultInvalidIteratorStatePropertyInfo), '("numberValue", DOMXPathResultNumberValuePropertyInfo), '("resultType", DOMXPathResultResultTypePropertyInfo), '("singleNodeValue", DOMXPathResultSingleNodeValuePropertyInfo), '("snapshotLength", DOMXPathResultSnapshotLengthPropertyInfo), '("stringValue", DOMXPathResultStringValuePropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
dOMXPathResultBooleanValue :: AttrLabelProxy "booleanValue"
dOMXPathResultBooleanValue = AttrLabelProxy

dOMXPathResultInvalidIteratorState :: AttrLabelProxy "invalidIteratorState"
dOMXPathResultInvalidIteratorState = AttrLabelProxy

dOMXPathResultNumberValue :: AttrLabelProxy "numberValue"
dOMXPathResultNumberValue = AttrLabelProxy

dOMXPathResultResultType :: AttrLabelProxy "resultType"
dOMXPathResultResultType = AttrLabelProxy

dOMXPathResultSingleNodeValue :: AttrLabelProxy "singleNodeValue"
dOMXPathResultSingleNodeValue = AttrLabelProxy

dOMXPathResultSnapshotLength :: AttrLabelProxy "snapshotLength"
dOMXPathResultSnapshotLength = AttrLabelProxy

dOMXPathResultStringValue :: AttrLabelProxy "stringValue"
dOMXPathResultStringValue = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type instance O.SignalList DOMXPathResult = DOMXPathResultSignalList
type DOMXPathResultSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

#endif

-- method DOMXPathResult::get_boolean_value
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMXPathResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_xpath_result_get_boolean_value" webkit_dom_xpath_result_get_boolean_value :: 
    Ptr DOMXPathResult ->                   -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"})
    Ptr (Ptr GError) ->                     -- error
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMXPathResultGetBooleanValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMXPathResult a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMXPathResult.DOMXPathResult' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMXPathResultGetBooleanValue self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        _ <- propagateGError $ webkit_dom_xpath_result_get_boolean_value self'
        touchManagedPtr self
        return ()
     ) (do
        return ()
     )

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultGetBooleanValueMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMXPathResult a) => O.MethodInfo DOMXPathResultGetBooleanValueMethodInfo a signature where
    overloadedMethod _ = dOMXPathResultGetBooleanValue

#endif

-- method DOMXPathResult::get_invalid_iterator_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMXPathResult", 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_dom_xpath_result_get_invalid_iterator_state" webkit_dom_xpath_result_get_invalid_iterator_state :: 
    Ptr DOMXPathResult ->                   -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"})
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMXPathResultGetInvalidIteratorState ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMXPathResult a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMXPathResult.DOMXPathResult' -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMXPathResultGetInvalidIteratorState self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_xpath_result_get_invalid_iterator_state self'
    let result' = (/= 0) result
    touchManagedPtr self
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultGetInvalidIteratorStateMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMXPathResult a) => O.MethodInfo DOMXPathResultGetInvalidIteratorStateMethodInfo a signature where
    overloadedMethod _ = dOMXPathResultGetInvalidIteratorState

#endif

-- method DOMXPathResult::get_number_value
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMXPathResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TDouble)
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_xpath_result_get_number_value" webkit_dom_xpath_result_get_number_value :: 
    Ptr DOMXPathResult ->                   -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"})
    Ptr (Ptr GError) ->                     -- error
    IO CDouble

{- |
/No description available in the introspection data./
-}
dOMXPathResultGetNumberValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMXPathResult a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMXPathResult.DOMXPathResult' -}
    -> m Double
    {- ^ __Returns:__ A @/gdouble/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMXPathResultGetNumberValue self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_xpath_result_get_number_value self'
        let result' = realToFrac result
        touchManagedPtr self
        return result'
     ) (do
        return ()
     )

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultGetNumberValueMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMXPathResult a) => O.MethodInfo DOMXPathResultGetNumberValueMethodInfo a signature where
    overloadedMethod _ = dOMXPathResultGetNumberValue

#endif

-- method DOMXPathResult::get_result_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMXPathResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUInt16)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_xpath_result_get_result_type" webkit_dom_xpath_result_get_result_type :: 
    Ptr DOMXPathResult ->                   -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"})
    IO Word16

{- |
/No description available in the introspection data./
-}
dOMXPathResultGetResultType ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMXPathResult a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMXPathResult.DOMXPathResult' -}
    -> m Word16
    {- ^ __Returns:__ A @/gushort/@ -}
dOMXPathResultGetResultType self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_xpath_result_get_result_type self'
    touchManagedPtr self
    return result

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultGetResultTypeMethodInfo
instance (signature ~ (m Word16), MonadIO m, IsDOMXPathResult a) => O.MethodInfo DOMXPathResultGetResultTypeMethodInfo a signature where
    overloadedMethod _ = dOMXPathResultGetResultType

#endif

-- method DOMXPathResult::get_single_node_value
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMXPathResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"}))
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_xpath_result_get_single_node_value" webkit_dom_xpath_result_get_single_node_value :: 
    Ptr DOMXPathResult ->                   -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"})
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr WebKit2WebExtension.DOMNode.DOMNode)

{- |
/No description available in the introspection data./
-}
dOMXPathResultGetSingleNodeValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMXPathResult a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMXPathResult.DOMXPathResult' -}
    -> m WebKit2WebExtension.DOMNode.DOMNode
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMXPathResultGetSingleNodeValue self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_xpath_result_get_single_node_value self'
        checkUnexpectedReturnNULL "dOMXPathResultGetSingleNodeValue" result
        result' <- (newObject WebKit2WebExtension.DOMNode.DOMNode) result
        touchManagedPtr self
        return result'
     ) (do
        return ()
     )

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultGetSingleNodeValueMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMNode.DOMNode), MonadIO m, IsDOMXPathResult a) => O.MethodInfo DOMXPathResultGetSingleNodeValueMethodInfo a signature where
    overloadedMethod _ = dOMXPathResultGetSingleNodeValue

#endif

-- method DOMXPathResult::get_snapshot_length
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMXPathResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TULong)
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_xpath_result_get_snapshot_length" webkit_dom_xpath_result_get_snapshot_length :: 
    Ptr DOMXPathResult ->                   -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"})
    Ptr (Ptr GError) ->                     -- error
    IO CULong

{- |
/No description available in the introspection data./
-}
dOMXPathResultGetSnapshotLength ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMXPathResult a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMXPathResult.DOMXPathResult' -}
    -> m CULong
    {- ^ __Returns:__ A @/gulong/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMXPathResultGetSnapshotLength self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_xpath_result_get_snapshot_length self'
        touchManagedPtr self
        return result
     ) (do
        return ()
     )

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultGetSnapshotLengthMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMXPathResult a) => O.MethodInfo DOMXPathResultGetSnapshotLengthMethodInfo a signature where
    overloadedMethod _ = dOMXPathResultGetSnapshotLength

#endif

-- method DOMXPathResult::get_string_value
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMXPathResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_xpath_result_get_string_value" webkit_dom_xpath_result_get_string_value :: 
    Ptr DOMXPathResult ->                   -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"})
    Ptr (Ptr GError) ->                     -- error
    IO CString

{- |
/No description available in the introspection data./
-}
dOMXPathResultGetStringValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMXPathResult a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMXPathResult.DOMXPathResult' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMXPathResultGetStringValue self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_xpath_result_get_string_value self'
        checkUnexpectedReturnNULL "dOMXPathResultGetStringValue" result
        result' <- cstringToText result
        freeMem result
        touchManagedPtr self
        return result'
     ) (do
        return ()
     )

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultGetStringValueMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMXPathResult a) => O.MethodInfo DOMXPathResultGetStringValueMethodInfo a signature where
    overloadedMethod _ = dOMXPathResultGetStringValue

#endif

-- method DOMXPathResult::iterate_next
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMXPathResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"}))
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_xpath_result_iterate_next" webkit_dom_xpath_result_iterate_next :: 
    Ptr DOMXPathResult ->                   -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"})
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr WebKit2WebExtension.DOMNode.DOMNode)

{- |
/No description available in the introspection data./
-}
dOMXPathResultIterateNext ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMXPathResult a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMXPathResult.DOMXPathResult' -}
    -> m WebKit2WebExtension.DOMNode.DOMNode
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMXPathResultIterateNext self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_xpath_result_iterate_next self'
        checkUnexpectedReturnNULL "dOMXPathResultIterateNext" result
        result' <- (newObject WebKit2WebExtension.DOMNode.DOMNode) result
        touchManagedPtr self
        return result'
     ) (do
        return ()
     )

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultIterateNextMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMNode.DOMNode), MonadIO m, IsDOMXPathResult a) => O.MethodInfo DOMXPathResultIterateNextMethodInfo a signature where
    overloadedMethod _ = dOMXPathResultIterateNext

#endif

-- method DOMXPathResult::snapshot_item
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMXPathResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gulong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"}))
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_xpath_result_snapshot_item" webkit_dom_xpath_result_snapshot_item :: 
    Ptr DOMXPathResult ->                   -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMXPathResult"})
    CULong ->                               -- index : TBasicType TULong
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr WebKit2WebExtension.DOMNode.DOMNode)

{- |
/No description available in the introspection data./
-}
dOMXPathResultSnapshotItem ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMXPathResult a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMXPathResult.DOMXPathResult' -}
    -> CULong
    {- ^ /@index@/: A @/gulong/@ -}
    -> m WebKit2WebExtension.DOMNode.DOMNode
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMXPathResultSnapshotItem self index = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_xpath_result_snapshot_item self' index
        checkUnexpectedReturnNULL "dOMXPathResultSnapshotItem" result
        result' <- (newObject WebKit2WebExtension.DOMNode.DOMNode) result
        touchManagedPtr self
        return result'
     ) (do
        return ()
     )

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMXPathResultSnapshotItemMethodInfo
instance (signature ~ (CULong -> m WebKit2WebExtension.DOMNode.DOMNode), MonadIO m, IsDOMXPathResult a) => O.MethodInfo DOMXPathResultSnapshotItemMethodInfo a signature where
    overloadedMethod _ = dOMXPathResultSnapshotItem

#endif