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

-- * Exported types
    DOMRange(..)                            ,
    IsDOMRange                              ,
    toDOMRange                              ,
    noDOMRange                              ,


 -- * Methods
-- ** cloneContents #method:cloneContents#

#if ENABLE_OVERLOADING
    DOMRangeCloneContentsMethodInfo         ,
#endif
    dOMRangeCloneContents                   ,


-- ** cloneRange #method:cloneRange#

#if ENABLE_OVERLOADING
    DOMRangeCloneRangeMethodInfo            ,
#endif
    dOMRangeCloneRange                      ,


-- ** collapse #method:collapse#

#if ENABLE_OVERLOADING
    DOMRangeCollapseMethodInfo              ,
#endif
    dOMRangeCollapse                        ,


-- ** compareBoundaryPoints #method:compareBoundaryPoints#

#if ENABLE_OVERLOADING
    DOMRangeCompareBoundaryPointsMethodInfo ,
#endif
    dOMRangeCompareBoundaryPoints           ,


-- ** compareNode #method:compareNode#

#if ENABLE_OVERLOADING
    DOMRangeCompareNodeMethodInfo           ,
#endif
    dOMRangeCompareNode                     ,


-- ** comparePoint #method:comparePoint#

#if ENABLE_OVERLOADING
    DOMRangeComparePointMethodInfo          ,
#endif
    dOMRangeComparePoint                    ,


-- ** createContextualFragment #method:createContextualFragment#

#if ENABLE_OVERLOADING
    DOMRangeCreateContextualFragmentMethodInfo,
#endif
    dOMRangeCreateContextualFragment        ,


-- ** deleteContents #method:deleteContents#

#if ENABLE_OVERLOADING
    DOMRangeDeleteContentsMethodInfo        ,
#endif
    dOMRangeDeleteContents                  ,


-- ** detach #method:detach#

#if ENABLE_OVERLOADING
    DOMRangeDetachMethodInfo                ,
#endif
    dOMRangeDetach                          ,


-- ** expand #method:expand#

#if ENABLE_OVERLOADING
    DOMRangeExpandMethodInfo                ,
#endif
    dOMRangeExpand                          ,


-- ** extractContents #method:extractContents#

#if ENABLE_OVERLOADING
    DOMRangeExtractContentsMethodInfo       ,
#endif
    dOMRangeExtractContents                 ,


-- ** getCollapsed #method:getCollapsed#

#if ENABLE_OVERLOADING
    DOMRangeGetCollapsedMethodInfo          ,
#endif
    dOMRangeGetCollapsed                    ,


-- ** getCommonAncestorContainer #method:getCommonAncestorContainer#

#if ENABLE_OVERLOADING
    DOMRangeGetCommonAncestorContainerMethodInfo,
#endif
    dOMRangeGetCommonAncestorContainer      ,


-- ** getEndContainer #method:getEndContainer#

#if ENABLE_OVERLOADING
    DOMRangeGetEndContainerMethodInfo       ,
#endif
    dOMRangeGetEndContainer                 ,


-- ** getEndOffset #method:getEndOffset#

#if ENABLE_OVERLOADING
    DOMRangeGetEndOffsetMethodInfo          ,
#endif
    dOMRangeGetEndOffset                    ,


-- ** getStartContainer #method:getStartContainer#

#if ENABLE_OVERLOADING
    DOMRangeGetStartContainerMethodInfo     ,
#endif
    dOMRangeGetStartContainer               ,


-- ** getStartOffset #method:getStartOffset#

#if ENABLE_OVERLOADING
    DOMRangeGetStartOffsetMethodInfo        ,
#endif
    dOMRangeGetStartOffset                  ,


-- ** getText #method:getText#

#if ENABLE_OVERLOADING
    DOMRangeGetTextMethodInfo               ,
#endif
    dOMRangeGetText                         ,


-- ** insertNode #method:insertNode#

#if ENABLE_OVERLOADING
    DOMRangeInsertNodeMethodInfo            ,
#endif
    dOMRangeInsertNode                      ,


-- ** intersectsNode #method:intersectsNode#

#if ENABLE_OVERLOADING
    DOMRangeIntersectsNodeMethodInfo        ,
#endif
    dOMRangeIntersectsNode                  ,


-- ** isPointInRange #method:isPointInRange#

#if ENABLE_OVERLOADING
    DOMRangeIsPointInRangeMethodInfo        ,
#endif
    dOMRangeIsPointInRange                  ,


-- ** selectNode #method:selectNode#

#if ENABLE_OVERLOADING
    DOMRangeSelectNodeMethodInfo            ,
#endif
    dOMRangeSelectNode                      ,


-- ** selectNodeContents #method:selectNodeContents#

#if ENABLE_OVERLOADING
    DOMRangeSelectNodeContentsMethodInfo    ,
#endif
    dOMRangeSelectNodeContents              ,


-- ** setEnd #method:setEnd#

#if ENABLE_OVERLOADING
    DOMRangeSetEndMethodInfo                ,
#endif
    dOMRangeSetEnd                          ,


-- ** setEndAfter #method:setEndAfter#

#if ENABLE_OVERLOADING
    DOMRangeSetEndAfterMethodInfo           ,
#endif
    dOMRangeSetEndAfter                     ,


-- ** setEndBefore #method:setEndBefore#

#if ENABLE_OVERLOADING
    DOMRangeSetEndBeforeMethodInfo          ,
#endif
    dOMRangeSetEndBefore                    ,


-- ** setStart #method:setStart#

#if ENABLE_OVERLOADING
    DOMRangeSetStartMethodInfo              ,
#endif
    dOMRangeSetStart                        ,


-- ** setStartAfter #method:setStartAfter#

#if ENABLE_OVERLOADING
    DOMRangeSetStartAfterMethodInfo         ,
#endif
    dOMRangeSetStartAfter                   ,


-- ** setStartBefore #method:setStartBefore#

#if ENABLE_OVERLOADING
    DOMRangeSetStartBeforeMethodInfo        ,
#endif
    dOMRangeSetStartBefore                  ,


-- ** surroundContents #method:surroundContents#

#if ENABLE_OVERLOADING
    DOMRangeSurroundContentsMethodInfo      ,
#endif
    dOMRangeSurroundContents                ,


-- ** toString #method:toString#

#if ENABLE_OVERLOADING
    DOMRangeToStringMethodInfo              ,
#endif
    dOMRangeToString                        ,




 -- * Properties
-- ** collapsed #attr:collapsed#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMRangeCollapsedPropertyInfo           ,
#endif
#if ENABLE_OVERLOADING
    dOMRangeCollapsed                       ,
#endif
    getDOMRangeCollapsed                    ,


-- ** commonAncestorContainer #attr:commonAncestorContainer#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMRangeCommonAncestorContainerPropertyInfo,
#endif
#if ENABLE_OVERLOADING
    dOMRangeCommonAncestorContainer         ,
#endif
    getDOMRangeCommonAncestorContainer      ,


-- ** endContainer #attr:endContainer#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMRangeEndContainerPropertyInfo        ,
#endif
#if ENABLE_OVERLOADING
    dOMRangeEndContainer                    ,
#endif
    getDOMRangeEndContainer                 ,


-- ** endOffset #attr:endOffset#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMRangeEndOffsetPropertyInfo           ,
#endif
#if ENABLE_OVERLOADING
    dOMRangeEndOffset                       ,
#endif
    getDOMRangeEndOffset                    ,


-- ** startContainer #attr:startContainer#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMRangeStartContainerPropertyInfo      ,
#endif
#if ENABLE_OVERLOADING
    dOMRangeStartContainer                  ,
#endif
    getDOMRangeStartContainer               ,


-- ** startOffset #attr:startOffset#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMRangeStartOffsetPropertyInfo         ,
#endif
#if ENABLE_OVERLOADING
    dOMRangeStartOffset                     ,
#endif
    getDOMRangeStartOffset                  ,


-- ** text #attr:text#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMRangeTextPropertyInfo                ,
#endif
#if ENABLE_OVERLOADING
    dOMRangeText                            ,
#endif
    getDOMRangeText                         ,




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

-- | Memory-managed wrapper type.
newtype DOMRange = DOMRange (ManagedPtr DOMRange)
foreign import ccall "webkit_dom_range_get_type"
    c_webkit_dom_range_get_type :: IO GType

instance GObject DOMRange where
    gobjectType = c_webkit_dom_range_get_type


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

instance O.HasParentTypes DOMRange
type instance O.ParentTypes DOMRange = '[WebKit2WebExtension.DOMObject.DOMObject, GObject.Object.Object]

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

-- | A convenience alias for `Nothing` :: `Maybe` `DOMRange`.
noDOMRange :: Maybe DOMRange
noDOMRange = Nothing

#if ENABLE_OVERLOADING
type family ResolveDOMRangeMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMRangeMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMRangeMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMRangeMethod "cloneContents" o = DOMRangeCloneContentsMethodInfo
    ResolveDOMRangeMethod "cloneRange" o = DOMRangeCloneRangeMethodInfo
    ResolveDOMRangeMethod "collapse" o = DOMRangeCollapseMethodInfo
    ResolveDOMRangeMethod "compareBoundaryPoints" o = DOMRangeCompareBoundaryPointsMethodInfo
    ResolveDOMRangeMethod "compareNode" o = DOMRangeCompareNodeMethodInfo
    ResolveDOMRangeMethod "comparePoint" o = DOMRangeComparePointMethodInfo
    ResolveDOMRangeMethod "createContextualFragment" o = DOMRangeCreateContextualFragmentMethodInfo
    ResolveDOMRangeMethod "deleteContents" o = DOMRangeDeleteContentsMethodInfo
    ResolveDOMRangeMethod "detach" o = DOMRangeDetachMethodInfo
    ResolveDOMRangeMethod "expand" o = DOMRangeExpandMethodInfo
    ResolveDOMRangeMethod "extractContents" o = DOMRangeExtractContentsMethodInfo
    ResolveDOMRangeMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMRangeMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMRangeMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveDOMRangeMethod "insertNode" o = DOMRangeInsertNodeMethodInfo
    ResolveDOMRangeMethod "intersectsNode" o = DOMRangeIntersectsNodeMethodInfo
    ResolveDOMRangeMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMRangeMethod "isPointInRange" o = DOMRangeIsPointInRangeMethodInfo
    ResolveDOMRangeMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMRangeMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMRangeMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMRangeMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMRangeMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMRangeMethod "selectNode" o = DOMRangeSelectNodeMethodInfo
    ResolveDOMRangeMethod "selectNodeContents" o = DOMRangeSelectNodeContentsMethodInfo
    ResolveDOMRangeMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMRangeMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMRangeMethod "surroundContents" o = DOMRangeSurroundContentsMethodInfo
    ResolveDOMRangeMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMRangeMethod "toString" o = DOMRangeToStringMethodInfo
    ResolveDOMRangeMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMRangeMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMRangeMethod "getCollapsed" o = DOMRangeGetCollapsedMethodInfo
    ResolveDOMRangeMethod "getCommonAncestorContainer" o = DOMRangeGetCommonAncestorContainerMethodInfo
    ResolveDOMRangeMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMRangeMethod "getEndContainer" o = DOMRangeGetEndContainerMethodInfo
    ResolveDOMRangeMethod "getEndOffset" o = DOMRangeGetEndOffsetMethodInfo
    ResolveDOMRangeMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMRangeMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMRangeMethod "getStartContainer" o = DOMRangeGetStartContainerMethodInfo
    ResolveDOMRangeMethod "getStartOffset" o = DOMRangeGetStartOffsetMethodInfo
    ResolveDOMRangeMethod "getText" o = DOMRangeGetTextMethodInfo
    ResolveDOMRangeMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMRangeMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveDOMRangeMethod "setEnd" o = DOMRangeSetEndMethodInfo
    ResolveDOMRangeMethod "setEndAfter" o = DOMRangeSetEndAfterMethodInfo
    ResolveDOMRangeMethod "setEndBefore" o = DOMRangeSetEndBeforeMethodInfo
    ResolveDOMRangeMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMRangeMethod "setStart" o = DOMRangeSetStartMethodInfo
    ResolveDOMRangeMethod "setStartAfter" o = DOMRangeSetStartAfterMethodInfo
    ResolveDOMRangeMethod "setStartBefore" o = DOMRangeSetStartBeforeMethodInfo
    ResolveDOMRangeMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveDOMRangeMethod t DOMRange, O.MethodInfo info DOMRange p) => OL.IsLabel t (DOMRange -> 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 "collapsed"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

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

@
'Data.GI.Base.Attributes.get' dOMRange #collapsed
@
-}
getDOMRangeCollapsed :: (MonadIO m, IsDOMRange o) => o -> m Bool
getDOMRangeCollapsed obj = liftIO $ B.Properties.getObjectPropertyBool obj "collapsed"

#if ENABLE_OVERLOADING
data DOMRangeCollapsedPropertyInfo
instance AttrInfo DOMRangeCollapsedPropertyInfo where
    type AttrAllowedOps DOMRangeCollapsedPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMRangeCollapsedPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMRangeCollapsedPropertyInfo = IsDOMRange
    type AttrGetType DOMRangeCollapsedPropertyInfo = Bool
    type AttrLabel DOMRangeCollapsedPropertyInfo = "collapsed"
    type AttrOrigin DOMRangeCollapsedPropertyInfo = DOMRange
    attrGet _ = getDOMRangeCollapsed
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMRange #commonAncestorContainer
@
-}
getDOMRangeCommonAncestorContainer :: (MonadIO m, IsDOMRange o) => o -> m (Maybe WebKit2WebExtension.DOMNode.DOMNode)
getDOMRangeCommonAncestorContainer obj = liftIO $ B.Properties.getObjectPropertyObject obj "common-ancestor-container" WebKit2WebExtension.DOMNode.DOMNode

#if ENABLE_OVERLOADING
data DOMRangeCommonAncestorContainerPropertyInfo
instance AttrInfo DOMRangeCommonAncestorContainerPropertyInfo where
    type AttrAllowedOps DOMRangeCommonAncestorContainerPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMRangeCommonAncestorContainerPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMRangeCommonAncestorContainerPropertyInfo = IsDOMRange
    type AttrGetType DOMRangeCommonAncestorContainerPropertyInfo = (Maybe WebKit2WebExtension.DOMNode.DOMNode)
    type AttrLabel DOMRangeCommonAncestorContainerPropertyInfo = "common-ancestor-container"
    type AttrOrigin DOMRangeCommonAncestorContainerPropertyInfo = DOMRange
    attrGet _ = getDOMRangeCommonAncestorContainer
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMRange #endContainer
@
-}
getDOMRangeEndContainer :: (MonadIO m, IsDOMRange o) => o -> m (Maybe WebKit2WebExtension.DOMNode.DOMNode)
getDOMRangeEndContainer obj = liftIO $ B.Properties.getObjectPropertyObject obj "end-container" WebKit2WebExtension.DOMNode.DOMNode

#if ENABLE_OVERLOADING
data DOMRangeEndContainerPropertyInfo
instance AttrInfo DOMRangeEndContainerPropertyInfo where
    type AttrAllowedOps DOMRangeEndContainerPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMRangeEndContainerPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMRangeEndContainerPropertyInfo = IsDOMRange
    type AttrGetType DOMRangeEndContainerPropertyInfo = (Maybe WebKit2WebExtension.DOMNode.DOMNode)
    type AttrLabel DOMRangeEndContainerPropertyInfo = "end-container"
    type AttrOrigin DOMRangeEndContainerPropertyInfo = DOMRange
    attrGet _ = getDOMRangeEndContainer
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

-- VVV Prop "end-offset"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

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

@
'Data.GI.Base.Attributes.get' dOMRange #endOffset
@
-}
getDOMRangeEndOffset :: (MonadIO m, IsDOMRange o) => o -> m CLong
getDOMRangeEndOffset obj = liftIO $ B.Properties.getObjectPropertyLong obj "end-offset"

#if ENABLE_OVERLOADING
data DOMRangeEndOffsetPropertyInfo
instance AttrInfo DOMRangeEndOffsetPropertyInfo where
    type AttrAllowedOps DOMRangeEndOffsetPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMRangeEndOffsetPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMRangeEndOffsetPropertyInfo = IsDOMRange
    type AttrGetType DOMRangeEndOffsetPropertyInfo = CLong
    type AttrLabel DOMRangeEndOffsetPropertyInfo = "end-offset"
    type AttrOrigin DOMRangeEndOffsetPropertyInfo = DOMRange
    attrGet _ = getDOMRangeEndOffset
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMRange #startContainer
@
-}
getDOMRangeStartContainer :: (MonadIO m, IsDOMRange o) => o -> m (Maybe WebKit2WebExtension.DOMNode.DOMNode)
getDOMRangeStartContainer obj = liftIO $ B.Properties.getObjectPropertyObject obj "start-container" WebKit2WebExtension.DOMNode.DOMNode

#if ENABLE_OVERLOADING
data DOMRangeStartContainerPropertyInfo
instance AttrInfo DOMRangeStartContainerPropertyInfo where
    type AttrAllowedOps DOMRangeStartContainerPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMRangeStartContainerPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMRangeStartContainerPropertyInfo = IsDOMRange
    type AttrGetType DOMRangeStartContainerPropertyInfo = (Maybe WebKit2WebExtension.DOMNode.DOMNode)
    type AttrLabel DOMRangeStartContainerPropertyInfo = "start-container"
    type AttrOrigin DOMRangeStartContainerPropertyInfo = DOMRange
    attrGet _ = getDOMRangeStartContainer
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

-- VVV Prop "start-offset"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

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

@
'Data.GI.Base.Attributes.get' dOMRange #startOffset
@
-}
getDOMRangeStartOffset :: (MonadIO m, IsDOMRange o) => o -> m CLong
getDOMRangeStartOffset obj = liftIO $ B.Properties.getObjectPropertyLong obj "start-offset"

#if ENABLE_OVERLOADING
data DOMRangeStartOffsetPropertyInfo
instance AttrInfo DOMRangeStartOffsetPropertyInfo where
    type AttrAllowedOps DOMRangeStartOffsetPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMRangeStartOffsetPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMRangeStartOffsetPropertyInfo = IsDOMRange
    type AttrGetType DOMRangeStartOffsetPropertyInfo = CLong
    type AttrLabel DOMRangeStartOffsetPropertyInfo = "start-offset"
    type AttrOrigin DOMRangeStartOffsetPropertyInfo = DOMRange
    attrGet _ = getDOMRangeStartOffset
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMRange #text
@
-}
getDOMRangeText :: (MonadIO m, IsDOMRange o) => o -> m (Maybe T.Text)
getDOMRangeText obj = liftIO $ B.Properties.getObjectPropertyString obj "text"

#if ENABLE_OVERLOADING
data DOMRangeTextPropertyInfo
instance AttrInfo DOMRangeTextPropertyInfo where
    type AttrAllowedOps DOMRangeTextPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMRangeTextPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMRangeTextPropertyInfo = IsDOMRange
    type AttrGetType DOMRangeTextPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMRangeTextPropertyInfo = "text"
    type AttrOrigin DOMRangeTextPropertyInfo = DOMRange
    attrGet _ = getDOMRangeText
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

#if ENABLE_OVERLOADING
instance O.HasAttributeList DOMRange
type instance O.AttributeList DOMRange = DOMRangeAttributeList
type DOMRangeAttributeList = ('[ '("collapsed", DOMRangeCollapsedPropertyInfo), '("commonAncestorContainer", DOMRangeCommonAncestorContainerPropertyInfo), '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("endContainer", DOMRangeEndContainerPropertyInfo), '("endOffset", DOMRangeEndOffsetPropertyInfo), '("startContainer", DOMRangeStartContainerPropertyInfo), '("startOffset", DOMRangeStartOffsetPropertyInfo), '("text", DOMRangeTextPropertyInfo)] :: [(Symbol, *)])
#endif

#if ENABLE_OVERLOADING
dOMRangeCollapsed :: AttrLabelProxy "collapsed"
dOMRangeCollapsed = AttrLabelProxy

dOMRangeCommonAncestorContainer :: AttrLabelProxy "commonAncestorContainer"
dOMRangeCommonAncestorContainer = AttrLabelProxy

dOMRangeEndContainer :: AttrLabelProxy "endContainer"
dOMRangeEndContainer = AttrLabelProxy

dOMRangeEndOffset :: AttrLabelProxy "endOffset"
dOMRangeEndOffset = AttrLabelProxy

dOMRangeStartContainer :: AttrLabelProxy "startContainer"
dOMRangeStartContainer = AttrLabelProxy

dOMRangeStartOffset :: AttrLabelProxy "startOffset"
dOMRangeStartOffset = AttrLabelProxy

dOMRangeText :: AttrLabelProxy "text"
dOMRangeText = AttrLabelProxy

#endif

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

#endif

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

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

{-# DEPRECATED dOMRangeCloneContents ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeCloneContents ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m WebKit2WebExtension.DOMDocumentFragment.DOMDocumentFragment
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeCloneContents self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_range_clone_contents self'
        checkUnexpectedReturnNULL "dOMRangeCloneContents" result
        result' <- (newObject WebKit2WebExtension.DOMDocumentFragment.DOMDocumentFragment) result
        touchManagedPtr self
        return result'
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeCloneContentsMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMDocumentFragment.DOMDocumentFragment), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeCloneContentsMethodInfo a signature where
    overloadedMethod _ = dOMRangeCloneContents

#endif

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

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

{-# DEPRECATED dOMRangeCloneRange ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeCloneRange ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m DOMRange
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeCloneRange self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_range_clone_range self'
        checkUnexpectedReturnNULL "dOMRangeCloneRange" result
        result' <- (wrapObject DOMRange) result
        touchManagedPtr self
        return result'
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeCloneRangeMethodInfo
instance (signature ~ (m DOMRange), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeCloneRangeMethodInfo a signature where
    overloadedMethod _ = dOMRangeCloneRange

#endif

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

foreign import ccall "webkit_dom_range_collapse" webkit_dom_range_collapse ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    CInt ->                                 -- toStart : TBasicType TBoolean
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMRangeCollapse ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeCollapse ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> Bool
    {- ^ /@toStart@/: A 'Bool' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeCollapse self toStart = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    let toStart' = (fromIntegral . fromEnum) toStart
    onException (do
        propagateGError $ webkit_dom_range_collapse self' toStart'
        touchManagedPtr self
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeCollapseMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeCollapseMethodInfo a signature where
    overloadedMethod _ = dOMRangeCollapse

#endif

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

foreign import ccall "webkit_dom_range_compare_boundary_points" webkit_dom_range_compare_boundary_points ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Word16 ->                               -- how : TBasicType TUInt16
    Ptr DOMRange ->                         -- sourceRange : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr (Ptr GError) ->                     -- error
    IO Int16

{-# DEPRECATED dOMRangeCompareBoundaryPoints ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeCompareBoundaryPoints ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, IsDOMRange b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> Word16
    {- ^ /@how@/: A @/gushort/@ -}
    -> b
    {- ^ /@sourceRange@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m Int16
    {- ^ __Returns:__ A @/gshort/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeCompareBoundaryPoints self how sourceRange = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    sourceRange' <- unsafeManagedPtrCastPtr sourceRange
    onException (do
        result <- propagateGError $ webkit_dom_range_compare_boundary_points self' how sourceRange'
        touchManagedPtr self
        touchManagedPtr sourceRange
        return result
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeCompareBoundaryPointsMethodInfo
instance (signature ~ (Word16 -> b -> m Int16), MonadIO m, IsDOMRange a, IsDOMRange b) => O.MethodInfo DOMRangeCompareBoundaryPointsMethodInfo a signature where
    overloadedMethod _ = dOMRangeCompareBoundaryPoints

#endif

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

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

{-# DEPRECATED dOMRangeCompareNode ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeCompareNode ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@refNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> m Int16
    {- ^ __Returns:__ A @/gshort/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeCompareNode self refNode = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    refNode' <- unsafeManagedPtrCastPtr refNode
    onException (do
        result <- propagateGError $ webkit_dom_range_compare_node self' refNode'
        touchManagedPtr self
        touchManagedPtr refNode
        return result
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeCompareNodeMethodInfo
instance (signature ~ (b -> m Int16), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeCompareNodeMethodInfo a signature where
    overloadedMethod _ = dOMRangeCompareNode

#endif

-- method DOMRange::compare_point
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refNode", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMNode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #glong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TInt16)
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_range_compare_point" webkit_dom_range_compare_point ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr WebKit2WebExtension.DOMNode.DOMNode -> -- refNode : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    CLong ->                                -- offset : TBasicType TLong
    Ptr (Ptr GError) ->                     -- error
    IO Int16

{-# DEPRECATED dOMRangeComparePoint ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeComparePoint ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@refNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> CLong
    {- ^ /@offset@/: A @/glong/@ -}
    -> m Int16
    {- ^ __Returns:__ A @/gshort/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeComparePoint self refNode offset = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    refNode' <- unsafeManagedPtrCastPtr refNode
    onException (do
        result <- propagateGError $ webkit_dom_range_compare_point self' refNode' offset
        touchManagedPtr self
        touchManagedPtr refNode
        return result
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeComparePointMethodInfo
instance (signature ~ (b -> CLong -> m Int16), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeComparePointMethodInfo a signature where
    overloadedMethod _ = dOMRangeComparePoint

#endif

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

foreign import ccall "webkit_dom_range_create_contextual_fragment" webkit_dom_range_create_contextual_fragment ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    CString ->                              -- html : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr WebKit2WebExtension.DOMDocumentFragment.DOMDocumentFragment)

{-# DEPRECATED dOMRangeCreateContextualFragment ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeCreateContextualFragment ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> T.Text
    {- ^ /@html@/: A @/gchar/@ -}
    -> m WebKit2WebExtension.DOMDocumentFragment.DOMDocumentFragment
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeCreateContextualFragment self html = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    html' <- textToCString html
    onException (do
        result <- propagateGError $ webkit_dom_range_create_contextual_fragment self' html'
        checkUnexpectedReturnNULL "dOMRangeCreateContextualFragment" result
        result' <- (newObject WebKit2WebExtension.DOMDocumentFragment.DOMDocumentFragment) result
        touchManagedPtr self
        freeMem html'
        return result'
     ) (do
        freeMem html'
     )

#if ENABLE_OVERLOADING
data DOMRangeCreateContextualFragmentMethodInfo
instance (signature ~ (T.Text -> m WebKit2WebExtension.DOMDocumentFragment.DOMDocumentFragment), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeCreateContextualFragmentMethodInfo a signature where
    overloadedMethod _ = dOMRangeCreateContextualFragment

#endif

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

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

{-# DEPRECATED dOMRangeDeleteContents ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeDeleteContents ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeDeleteContents self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        propagateGError $ webkit_dom_range_delete_contents self'
        touchManagedPtr self
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeDeleteContentsMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeDeleteContentsMethodInfo a signature where
    overloadedMethod _ = dOMRangeDeleteContents

#endif

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

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

{-# DEPRECATED dOMRangeDetach ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeDetach ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeDetach self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        propagateGError $ webkit_dom_range_detach self'
        touchManagedPtr self
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeDetachMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeDetachMethodInfo a signature where
    overloadedMethod _ = dOMRangeDetach

#endif

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

foreign import ccall "webkit_dom_range_expand" webkit_dom_range_expand ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    CString ->                              -- unit : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMRangeExpand ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./

/Since: 2.16/
-}
dOMRangeExpand ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> T.Text
    {- ^ /@unit@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeExpand self unit = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    unit' <- textToCString unit
    onException (do
        propagateGError $ webkit_dom_range_expand self' unit'
        touchManagedPtr self
        freeMem unit'
        return ()
     ) (do
        freeMem unit'
     )

#if ENABLE_OVERLOADING
data DOMRangeExpandMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeExpandMethodInfo a signature where
    overloadedMethod _ = dOMRangeExpand

#endif

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

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

{-# DEPRECATED dOMRangeExtractContents ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeExtractContents ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m WebKit2WebExtension.DOMDocumentFragment.DOMDocumentFragment
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeExtractContents self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_range_extract_contents self'
        checkUnexpectedReturnNULL "dOMRangeExtractContents" result
        result' <- (newObject WebKit2WebExtension.DOMDocumentFragment.DOMDocumentFragment) result
        touchManagedPtr self
        return result'
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeExtractContentsMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMDocumentFragment.DOMDocumentFragment), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeExtractContentsMethodInfo a signature where
    overloadedMethod _ = dOMRangeExtractContents

#endif

-- method DOMRange::get_collapsed
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMRange", 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_range_get_collapsed" webkit_dom_range_get_collapsed ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr (Ptr GError) ->                     -- error
    IO CInt

{-# DEPRECATED dOMRangeGetCollapsed ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeGetCollapsed ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeGetCollapsed self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        _ <- propagateGError $ webkit_dom_range_get_collapsed self'
        touchManagedPtr self
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeGetCollapsedMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeGetCollapsedMethodInfo a signature where
    overloadedMethod _ = dOMRangeGetCollapsed

#endif

-- method DOMRange::get_common_ancestor_container
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMRange", 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_range_get_common_ancestor_container" webkit_dom_range_get_common_ancestor_container ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr WebKit2WebExtension.DOMNode.DOMNode)

{-# DEPRECATED dOMRangeGetCommonAncestorContainer ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeGetCommonAncestorContainer ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m WebKit2WebExtension.DOMNode.DOMNode
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeGetCommonAncestorContainer self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_range_get_common_ancestor_container self'
        checkUnexpectedReturnNULL "dOMRangeGetCommonAncestorContainer" result
        result' <- (newObject WebKit2WebExtension.DOMNode.DOMNode) result
        touchManagedPtr self
        return result'
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeGetCommonAncestorContainerMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMNode.DOMNode), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeGetCommonAncestorContainerMethodInfo a signature where
    overloadedMethod _ = dOMRangeGetCommonAncestorContainer

#endif

-- method DOMRange::get_end_container
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMRange", 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_range_get_end_container" webkit_dom_range_get_end_container ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr WebKit2WebExtension.DOMNode.DOMNode)

{-# DEPRECATED dOMRangeGetEndContainer ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeGetEndContainer ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m WebKit2WebExtension.DOMNode.DOMNode
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeGetEndContainer self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_range_get_end_container self'
        checkUnexpectedReturnNULL "dOMRangeGetEndContainer" result
        result' <- (newObject WebKit2WebExtension.DOMNode.DOMNode) result
        touchManagedPtr self
        return result'
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeGetEndContainerMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMNode.DOMNode), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeGetEndContainerMethodInfo a signature where
    overloadedMethod _ = dOMRangeGetEndContainer

#endif

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

foreign import ccall "webkit_dom_range_get_end_offset" webkit_dom_range_get_end_offset ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr (Ptr GError) ->                     -- error
    IO CLong

{-# DEPRECATED dOMRangeGetEndOffset ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeGetEndOffset ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeGetEndOffset self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_range_get_end_offset self'
        touchManagedPtr self
        return result
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeGetEndOffsetMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeGetEndOffsetMethodInfo a signature where
    overloadedMethod _ = dOMRangeGetEndOffset

#endif

-- method DOMRange::get_start_container
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMRange", 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_range_get_start_container" webkit_dom_range_get_start_container ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr WebKit2WebExtension.DOMNode.DOMNode)

{-# DEPRECATED dOMRangeGetStartContainer ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeGetStartContainer ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m WebKit2WebExtension.DOMNode.DOMNode
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeGetStartContainer self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_range_get_start_container self'
        checkUnexpectedReturnNULL "dOMRangeGetStartContainer" result
        result' <- (newObject WebKit2WebExtension.DOMNode.DOMNode) result
        touchManagedPtr self
        return result'
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeGetStartContainerMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMNode.DOMNode), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeGetStartContainerMethodInfo a signature where
    overloadedMethod _ = dOMRangeGetStartContainer

#endif

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

foreign import ccall "webkit_dom_range_get_start_offset" webkit_dom_range_get_start_offset ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr (Ptr GError) ->                     -- error
    IO CLong

{-# DEPRECATED dOMRangeGetStartOffset ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeGetStartOffset ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeGetStartOffset self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_range_get_start_offset self'
        touchManagedPtr self
        return result
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeGetStartOffsetMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeGetStartOffsetMethodInfo a signature where
    overloadedMethod _ = dOMRangeGetStartOffset

#endif

-- method DOMRange::get_text
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMRange", 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_dom_range_get_text" webkit_dom_range_get_text ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    IO CString

{-# DEPRECATED dOMRangeGetText ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeGetText ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMRangeGetText self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_range_get_text self'
    checkUnexpectedReturnNULL "dOMRangeGetText" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMRangeGetTextMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeGetTextMethodInfo a signature where
    overloadedMethod _ = dOMRangeGetText

#endif

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

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

{-# DEPRECATED dOMRangeInsertNode ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeInsertNode ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@newNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeInsertNode self newNode = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    newNode' <- unsafeManagedPtrCastPtr newNode
    onException (do
        propagateGError $ webkit_dom_range_insert_node self' newNode'
        touchManagedPtr self
        touchManagedPtr newNode
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeInsertNodeMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeInsertNodeMethodInfo a signature where
    overloadedMethod _ = dOMRangeInsertNode

#endif

-- method DOMRange::intersects_node
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refNode", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMNode", 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_range_intersects_node" webkit_dom_range_intersects_node ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr WebKit2WebExtension.DOMNode.DOMNode -> -- refNode : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    Ptr (Ptr GError) ->                     -- error
    IO CInt

{-# DEPRECATED dOMRangeIntersectsNode ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeIntersectsNode ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@refNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeIntersectsNode self refNode = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    refNode' <- unsafeManagedPtrCastPtr refNode
    onException (do
        _ <- propagateGError $ webkit_dom_range_intersects_node self' refNode'
        touchManagedPtr self
        touchManagedPtr refNode
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeIntersectsNodeMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeIntersectsNodeMethodInfo a signature where
    overloadedMethod _ = dOMRangeIntersectsNode

#endif

-- method DOMRange::is_point_in_range
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refNode", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMNode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #glong", 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_range_is_point_in_range" webkit_dom_range_is_point_in_range ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr WebKit2WebExtension.DOMNode.DOMNode -> -- refNode : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    CLong ->                                -- offset : TBasicType TLong
    Ptr (Ptr GError) ->                     -- error
    IO CInt

{-# DEPRECATED dOMRangeIsPointInRange ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeIsPointInRange ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@refNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> CLong
    {- ^ /@offset@/: A @/glong/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeIsPointInRange self refNode offset = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    refNode' <- unsafeManagedPtrCastPtr refNode
    onException (do
        _ <- propagateGError $ webkit_dom_range_is_point_in_range self' refNode' offset
        touchManagedPtr self
        touchManagedPtr refNode
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeIsPointInRangeMethodInfo
instance (signature ~ (b -> CLong -> m ()), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeIsPointInRangeMethodInfo a signature where
    overloadedMethod _ = dOMRangeIsPointInRange

#endif

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

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

{-# DEPRECATED dOMRangeSelectNode ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeSelectNode ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@refNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeSelectNode self refNode = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    refNode' <- unsafeManagedPtrCastPtr refNode
    onException (do
        propagateGError $ webkit_dom_range_select_node self' refNode'
        touchManagedPtr self
        touchManagedPtr refNode
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeSelectNodeMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeSelectNodeMethodInfo a signature where
    overloadedMethod _ = dOMRangeSelectNode

#endif

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

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

{-# DEPRECATED dOMRangeSelectNodeContents ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeSelectNodeContents ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@refNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeSelectNodeContents self refNode = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    refNode' <- unsafeManagedPtrCastPtr refNode
    onException (do
        propagateGError $ webkit_dom_range_select_node_contents self' refNode'
        touchManagedPtr self
        touchManagedPtr refNode
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeSelectNodeContentsMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeSelectNodeContentsMethodInfo a signature where
    overloadedMethod _ = dOMRangeSelectNodeContents

#endif

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

foreign import ccall "webkit_dom_range_set_end" webkit_dom_range_set_end ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr WebKit2WebExtension.DOMNode.DOMNode -> -- refNode : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    CLong ->                                -- offset : TBasicType TLong
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMRangeSetEnd ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeSetEnd ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@refNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> CLong
    {- ^ /@offset@/: A @/glong/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeSetEnd self refNode offset = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    refNode' <- unsafeManagedPtrCastPtr refNode
    onException (do
        propagateGError $ webkit_dom_range_set_end self' refNode' offset
        touchManagedPtr self
        touchManagedPtr refNode
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeSetEndMethodInfo
instance (signature ~ (b -> CLong -> m ()), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeSetEndMethodInfo a signature where
    overloadedMethod _ = dOMRangeSetEnd

#endif

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

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

{-# DEPRECATED dOMRangeSetEndAfter ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeSetEndAfter ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@refNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeSetEndAfter self refNode = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    refNode' <- unsafeManagedPtrCastPtr refNode
    onException (do
        propagateGError $ webkit_dom_range_set_end_after self' refNode'
        touchManagedPtr self
        touchManagedPtr refNode
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeSetEndAfterMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeSetEndAfterMethodInfo a signature where
    overloadedMethod _ = dOMRangeSetEndAfter

#endif

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

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

{-# DEPRECATED dOMRangeSetEndBefore ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeSetEndBefore ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@refNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeSetEndBefore self refNode = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    refNode' <- unsafeManagedPtrCastPtr refNode
    onException (do
        propagateGError $ webkit_dom_range_set_end_before self' refNode'
        touchManagedPtr self
        touchManagedPtr refNode
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeSetEndBeforeMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeSetEndBeforeMethodInfo a signature where
    overloadedMethod _ = dOMRangeSetEndBefore

#endif

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

foreign import ccall "webkit_dom_range_set_start" webkit_dom_range_set_start ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr WebKit2WebExtension.DOMNode.DOMNode -> -- refNode : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    CLong ->                                -- offset : TBasicType TLong
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMRangeSetStart ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeSetStart ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@refNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> CLong
    {- ^ /@offset@/: A @/glong/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeSetStart self refNode offset = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    refNode' <- unsafeManagedPtrCastPtr refNode
    onException (do
        propagateGError $ webkit_dom_range_set_start self' refNode' offset
        touchManagedPtr self
        touchManagedPtr refNode
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeSetStartMethodInfo
instance (signature ~ (b -> CLong -> m ()), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeSetStartMethodInfo a signature where
    overloadedMethod _ = dOMRangeSetStart

#endif

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

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

{-# DEPRECATED dOMRangeSetStartAfter ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeSetStartAfter ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@refNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeSetStartAfter self refNode = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    refNode' <- unsafeManagedPtrCastPtr refNode
    onException (do
        propagateGError $ webkit_dom_range_set_start_after self' refNode'
        touchManagedPtr self
        touchManagedPtr refNode
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeSetStartAfterMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeSetStartAfterMethodInfo a signature where
    overloadedMethod _ = dOMRangeSetStartAfter

#endif

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

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

{-# DEPRECATED dOMRangeSetStartBefore ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeSetStartBefore ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@refNode@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeSetStartBefore self refNode = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    refNode' <- unsafeManagedPtrCastPtr refNode
    onException (do
        propagateGError $ webkit_dom_range_set_start_before self' refNode'
        touchManagedPtr self
        touchManagedPtr refNode
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeSetStartBeforeMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeSetStartBeforeMethodInfo a signature where
    overloadedMethod _ = dOMRangeSetStartBefore

#endif

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

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

{-# DEPRECATED dOMRangeSurroundContents ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeSurroundContents ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> b
    {- ^ /@newParent@/: A 'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeSurroundContents self newParent = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    newParent' <- unsafeManagedPtrCastPtr newParent
    onException (do
        propagateGError $ webkit_dom_range_surround_contents self' newParent'
        touchManagedPtr self
        touchManagedPtr newParent
        return ()
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeSurroundContentsMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDOMRange a, WebKit2WebExtension.DOMNode.IsDOMNode b) => O.MethodInfo DOMRangeSurroundContentsMethodInfo a signature where
    overloadedMethod _ = dOMRangeSurroundContents

#endif

-- method DOMRange::to_string
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMRange", 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_range_to_string" webkit_dom_range_to_string ::
    Ptr DOMRange ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMRange"})
    Ptr (Ptr GError) ->                     -- error
    IO CString

{-# DEPRECATED dOMRangeToString ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMRangeToString ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMRange a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMRange.DOMRange' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMRangeToString self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        result <- propagateGError $ webkit_dom_range_to_string self'
        checkUnexpectedReturnNULL "dOMRangeToString" result
        result' <- cstringToText result
        freeMem result
        touchManagedPtr self
        return result'
     ) (do
        return ()
     )

#if ENABLE_OVERLOADING
data DOMRangeToStringMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMRange a) => O.MethodInfo DOMRangeToStringMethodInfo a signature where
    overloadedMethod _ = dOMRangeToString

#endif