{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- /No description available in the introspection data./

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

module GI.WebKit2WebExtension.Objects.DOMCharacterData
    ( 

-- * Exported types
    DOMCharacterData(..)                    ,
    IsDOMCharacterData                      ,
    toDOMCharacterData                      ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [addEventListener]("GI.WebKit2WebExtension.Interfaces.DOMEventTarget#g:method:addEventListener"), [appendChild]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:appendChild"), [appendData]("GI.WebKit2WebExtension.Objects.DOMCharacterData#g:method:appendData"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [cloneNodeWithError]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:cloneNodeWithError"), [compareDocumentPosition]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:compareDocumentPosition"), [contains]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:contains"), [deleteData]("GI.WebKit2WebExtension.Objects.DOMCharacterData#g:method:deleteData"), [dispatchEvent]("GI.WebKit2WebExtension.Interfaces.DOMEventTarget#g:method:dispatchEvent"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [hasChildNodes]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:hasChildNodes"), [insertBefore]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:insertBefore"), [insertData]("GI.WebKit2WebExtension.Objects.DOMCharacterData#g:method:insertData"), [isDefaultNamespace]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:isDefaultNamespace"), [isEqualNode]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:isEqualNode"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [isSameNode]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:isSameNode"), [isSupported]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:isSupported"), [lookupNamespaceUri]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:lookupNamespaceUri"), [lookupPrefix]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:lookupPrefix"), [normalize]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:normalize"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [removeChild]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:removeChild"), [removeEventListener]("GI.WebKit2WebExtension.Interfaces.DOMEventTarget#g:method:removeEventListener"), [replaceChild]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:replaceChild"), [replaceData]("GI.WebKit2WebExtension.Objects.DOMCharacterData#g:method:replaceData"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [substringData]("GI.WebKit2WebExtension.Objects.DOMCharacterData#g:method:substringData"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
-- 
-- ==== Getters
-- [getBaseUri]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getBaseUri"), [getChildNodes]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getChildNodes"), [getData]("GI.WebKit2WebExtension.Objects.DOMCharacterData#g:method:getData"), [getFirstChild]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getFirstChild"), [getLastChild]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getLastChild"), [getLength]("GI.WebKit2WebExtension.Objects.DOMCharacterData#g:method:getLength"), [getLocalName]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getLocalName"), [getNamespaceUri]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getNamespaceUri"), [getNextSibling]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getNextSibling"), [getNodeName]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getNodeName"), [getNodeType]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getNodeType"), [getNodeValue]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getNodeValue"), [getOwnerDocument]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getOwnerDocument"), [getParentElement]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getParentElement"), [getParentNode]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getParentNode"), [getPrefix]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getPrefix"), [getPreviousSibling]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getPreviousSibling"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getTextContent]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getTextContent").
-- 
-- ==== Setters
-- [setData]("GI.WebKit2WebExtension.Objects.DOMCharacterData#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setNodeValue]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:setNodeValue"), [setPrefix]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:setPrefix"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setTextContent]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:setTextContent").

#if defined(ENABLE_OVERLOADING)
    ResolveDOMCharacterDataMethod           ,
#endif

-- ** appendData #method:appendData#

#if defined(ENABLE_OVERLOADING)
    DOMCharacterDataAppendDataMethodInfo    ,
#endif
    dOMCharacterDataAppendData              ,


-- ** deleteData #method:deleteData#

#if defined(ENABLE_OVERLOADING)
    DOMCharacterDataDeleteDataMethodInfo    ,
#endif
    dOMCharacterDataDeleteData              ,


-- ** getData #method:getData#

#if defined(ENABLE_OVERLOADING)
    DOMCharacterDataGetDataMethodInfo       ,
#endif
    dOMCharacterDataGetData                 ,


-- ** getLength #method:getLength#

#if defined(ENABLE_OVERLOADING)
    DOMCharacterDataGetLengthMethodInfo     ,
#endif
    dOMCharacterDataGetLength               ,


-- ** insertData #method:insertData#

#if defined(ENABLE_OVERLOADING)
    DOMCharacterDataInsertDataMethodInfo    ,
#endif
    dOMCharacterDataInsertData              ,


-- ** replaceData #method:replaceData#

#if defined(ENABLE_OVERLOADING)
    DOMCharacterDataReplaceDataMethodInfo   ,
#endif
    dOMCharacterDataReplaceData             ,


-- ** setData #method:setData#

#if defined(ENABLE_OVERLOADING)
    DOMCharacterDataSetDataMethodInfo       ,
#endif
    dOMCharacterDataSetData                 ,


-- ** substringData #method:substringData#

#if defined(ENABLE_OVERLOADING)
    DOMCharacterDataSubstringDataMethodInfo ,
#endif
    dOMCharacterDataSubstringData           ,




 -- * Properties


-- ** data #attr:data#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMCharacterDataDataPropertyInfo        ,
#endif
    clearDOMCharacterDataData               ,
    constructDOMCharacterDataData           ,
#if defined(ENABLE_OVERLOADING)
    dOMCharacterDataData                    ,
#endif
    getDOMCharacterDataData                 ,
    setDOMCharacterDataData                 ,


-- ** length #attr:length#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMCharacterDataLengthPropertyInfo      ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMCharacterDataLength                  ,
#endif
    getDOMCharacterDataLength               ,




    ) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
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.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
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 GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT

-- Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/23392
#if MIN_VERSION_base(4,18,0)
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.JavaScriptCore.Objects.Value as JavaScriptCore.Value
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Interfaces.DOMEventTarget as WebKit2WebExtension.DOMEventTarget
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Interfaces.DOMNodeFilter as WebKit2WebExtension.DOMNodeFilter
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Interfaces.DOMXPathNSResolver as WebKit2WebExtension.DOMXPathNSResolver
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMAttr as WebKit2WebExtension.DOMAttr
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMCDATASection as WebKit2WebExtension.DOMCDATASection
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMCSSRule as WebKit2WebExtension.DOMCSSRule
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMCSSRuleList as WebKit2WebExtension.DOMCSSRuleList
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration as WebKit2WebExtension.DOMCSSStyleDeclaration
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMCSSStyleSheet as WebKit2WebExtension.DOMCSSStyleSheet
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMClientRect as WebKit2WebExtension.DOMClientRect
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMClientRectList as WebKit2WebExtension.DOMClientRectList
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMComment as WebKit2WebExtension.DOMComment
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMDOMImplementation as WebKit2WebExtension.DOMDOMImplementation
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMDOMSelection as WebKit2WebExtension.DOMDOMSelection
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMDOMTokenList as WebKit2WebExtension.DOMDOMTokenList
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMDOMWindow as WebKit2WebExtension.DOMDOMWindow
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMDocument as WebKit2WebExtension.DOMDocument
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMDocumentFragment as WebKit2WebExtension.DOMDocumentFragment
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMDocumentType as WebKit2WebExtension.DOMDocumentType
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMElement as WebKit2WebExtension.DOMElement
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMEntityReference as WebKit2WebExtension.DOMEntityReference
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMEvent as WebKit2WebExtension.DOMEvent
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMHTMLCollection as WebKit2WebExtension.DOMHTMLCollection
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMHTMLDocument as WebKit2WebExtension.DOMHTMLDocument
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMHTMLElement as WebKit2WebExtension.DOMHTMLElement
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMHTMLHeadElement as WebKit2WebExtension.DOMHTMLHeadElement
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMHTMLScriptElement as WebKit2WebExtension.DOMHTMLScriptElement
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMMediaList as WebKit2WebExtension.DOMMediaList
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMNamedNodeMap as WebKit2WebExtension.DOMNamedNodeMap
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMNode as WebKit2WebExtension.DOMNode
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMNodeIterator as WebKit2WebExtension.DOMNodeIterator
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMNodeList as WebKit2WebExtension.DOMNodeList
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMProcessingInstruction as WebKit2WebExtension.DOMProcessingInstruction
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMRange as WebKit2WebExtension.DOMRange
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMStyleSheet as WebKit2WebExtension.DOMStyleSheet
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMStyleSheetList as WebKit2WebExtension.DOMStyleSheetList
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMText as WebKit2WebExtension.DOMText
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMTreeWalker as WebKit2WebExtension.DOMTreeWalker
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMXPathExpression as WebKit2WebExtension.DOMXPathExpression
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMXPathResult as WebKit2WebExtension.DOMXPathResult

#else
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Interfaces.DOMEventTarget as WebKit2WebExtension.DOMEventTarget
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMNode as WebKit2WebExtension.DOMNode
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject

#endif

-- | Memory-managed wrapper type.
newtype DOMCharacterData = DOMCharacterData (SP.ManagedPtr DOMCharacterData)
    deriving (DOMCharacterData -> DOMCharacterData -> Bool
(DOMCharacterData -> DOMCharacterData -> Bool)
-> (DOMCharacterData -> DOMCharacterData -> Bool)
-> Eq DOMCharacterData
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DOMCharacterData -> DOMCharacterData -> Bool
== :: DOMCharacterData -> DOMCharacterData -> Bool
$c/= :: DOMCharacterData -> DOMCharacterData -> Bool
/= :: DOMCharacterData -> DOMCharacterData -> Bool
Eq)

instance SP.ManagedPtrNewtype DOMCharacterData where
    toManagedPtr :: DOMCharacterData -> ManagedPtr DOMCharacterData
toManagedPtr (DOMCharacterData ManagedPtr DOMCharacterData
p) = ManagedPtr DOMCharacterData
p

foreign import ccall "webkit_dom_character_data_get_type"
    c_webkit_dom_character_data_get_type :: IO B.Types.GType

instance B.Types.TypedObject DOMCharacterData where
    glibType :: IO GType
glibType = IO GType
c_webkit_dom_character_data_get_type

instance B.Types.GObject DOMCharacterData

-- | Type class for types which can be safely cast to `DOMCharacterData`, for instance with `toDOMCharacterData`.
class (SP.GObject o, O.IsDescendantOf DOMCharacterData o) => IsDOMCharacterData o
instance (SP.GObject o, O.IsDescendantOf DOMCharacterData o) => IsDOMCharacterData o

instance O.HasParentTypes DOMCharacterData
type instance O.ParentTypes DOMCharacterData = '[WebKit2WebExtension.DOMNode.DOMNode, WebKit2WebExtension.DOMObject.DOMObject, GObject.Object.Object, WebKit2WebExtension.DOMEventTarget.DOMEventTarget]

-- | Cast to `DOMCharacterData`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toDOMCharacterData :: (MIO.MonadIO m, IsDOMCharacterData o) => o -> m DOMCharacterData
toDOMCharacterData :: forall (m :: * -> *) o.
(MonadIO m, IsDOMCharacterData o) =>
o -> m DOMCharacterData
toDOMCharacterData = IO DOMCharacterData -> m DOMCharacterData
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO DOMCharacterData -> m DOMCharacterData)
-> (o -> IO DOMCharacterData) -> o -> m DOMCharacterData
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr DOMCharacterData -> DOMCharacterData)
-> o -> IO DOMCharacterData
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr DOMCharacterData -> DOMCharacterData
DOMCharacterData

-- | Convert 'DOMCharacterData' to and from 'Data.GI.Base.GValue.GValue'. See 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue (Maybe DOMCharacterData) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_webkit_dom_character_data_get_type
    gvalueSet_ :: Ptr GValue -> Maybe DOMCharacterData -> IO ()
gvalueSet_ Ptr GValue
gv Maybe DOMCharacterData
P.Nothing = Ptr GValue -> Ptr DOMCharacterData -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr DOMCharacterData
forall a. Ptr a
FP.nullPtr :: FP.Ptr DOMCharacterData)
    gvalueSet_ Ptr GValue
gv (P.Just DOMCharacterData
obj) = DOMCharacterData -> (Ptr DOMCharacterData -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr DOMCharacterData
obj (Ptr GValue -> Ptr DOMCharacterData -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe DOMCharacterData)
gvalueGet_ Ptr GValue
gv = do
        Ptr DOMCharacterData
ptr <- Ptr GValue -> IO (Ptr DOMCharacterData)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr DOMCharacterData)
        if Ptr DOMCharacterData
ptr Ptr DOMCharacterData -> Ptr DOMCharacterData -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr DOMCharacterData
forall a. Ptr a
FP.nullPtr
        then DOMCharacterData -> Maybe DOMCharacterData
forall a. a -> Maybe a
P.Just (DOMCharacterData -> Maybe DOMCharacterData)
-> IO DOMCharacterData -> IO (Maybe DOMCharacterData)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr DOMCharacterData -> DOMCharacterData)
-> Ptr DOMCharacterData -> IO DOMCharacterData
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr DOMCharacterData -> DOMCharacterData
DOMCharacterData Ptr DOMCharacterData
ptr
        else Maybe DOMCharacterData -> IO (Maybe DOMCharacterData)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DOMCharacterData
forall a. Maybe a
P.Nothing
        
    

#if defined(ENABLE_OVERLOADING)
type family ResolveDOMCharacterDataMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
    ResolveDOMCharacterDataMethod "addEventListener" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetAddEventListenerMethodInfo
    ResolveDOMCharacterDataMethod "appendChild" o = WebKit2WebExtension.DOMNode.DOMNodeAppendChildMethodInfo
    ResolveDOMCharacterDataMethod "appendData" o = DOMCharacterDataAppendDataMethodInfo
    ResolveDOMCharacterDataMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMCharacterDataMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMCharacterDataMethod "cloneNodeWithError" o = WebKit2WebExtension.DOMNode.DOMNodeCloneNodeWithErrorMethodInfo
    ResolveDOMCharacterDataMethod "compareDocumentPosition" o = WebKit2WebExtension.DOMNode.DOMNodeCompareDocumentPositionMethodInfo
    ResolveDOMCharacterDataMethod "contains" o = WebKit2WebExtension.DOMNode.DOMNodeContainsMethodInfo
    ResolveDOMCharacterDataMethod "deleteData" o = DOMCharacterDataDeleteDataMethodInfo
    ResolveDOMCharacterDataMethod "dispatchEvent" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetDispatchEventMethodInfo
    ResolveDOMCharacterDataMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMCharacterDataMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMCharacterDataMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveDOMCharacterDataMethod "hasChildNodes" o = WebKit2WebExtension.DOMNode.DOMNodeHasChildNodesMethodInfo
    ResolveDOMCharacterDataMethod "insertBefore" o = WebKit2WebExtension.DOMNode.DOMNodeInsertBeforeMethodInfo
    ResolveDOMCharacterDataMethod "insertData" o = DOMCharacterDataInsertDataMethodInfo
    ResolveDOMCharacterDataMethod "isDefaultNamespace" o = WebKit2WebExtension.DOMNode.DOMNodeIsDefaultNamespaceMethodInfo
    ResolveDOMCharacterDataMethod "isEqualNode" o = WebKit2WebExtension.DOMNode.DOMNodeIsEqualNodeMethodInfo
    ResolveDOMCharacterDataMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMCharacterDataMethod "isSameNode" o = WebKit2WebExtension.DOMNode.DOMNodeIsSameNodeMethodInfo
    ResolveDOMCharacterDataMethod "isSupported" o = WebKit2WebExtension.DOMNode.DOMNodeIsSupportedMethodInfo
    ResolveDOMCharacterDataMethod "lookupNamespaceUri" o = WebKit2WebExtension.DOMNode.DOMNodeLookupNamespaceUriMethodInfo
    ResolveDOMCharacterDataMethod "lookupPrefix" o = WebKit2WebExtension.DOMNode.DOMNodeLookupPrefixMethodInfo
    ResolveDOMCharacterDataMethod "normalize" o = WebKit2WebExtension.DOMNode.DOMNodeNormalizeMethodInfo
    ResolveDOMCharacterDataMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMCharacterDataMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMCharacterDataMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMCharacterDataMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMCharacterDataMethod "removeChild" o = WebKit2WebExtension.DOMNode.DOMNodeRemoveChildMethodInfo
    ResolveDOMCharacterDataMethod "removeEventListener" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetRemoveEventListenerMethodInfo
    ResolveDOMCharacterDataMethod "replaceChild" o = WebKit2WebExtension.DOMNode.DOMNodeReplaceChildMethodInfo
    ResolveDOMCharacterDataMethod "replaceData" o = DOMCharacterDataReplaceDataMethodInfo
    ResolveDOMCharacterDataMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMCharacterDataMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMCharacterDataMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMCharacterDataMethod "substringData" o = DOMCharacterDataSubstringDataMethodInfo
    ResolveDOMCharacterDataMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMCharacterDataMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMCharacterDataMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMCharacterDataMethod "getBaseUri" o = WebKit2WebExtension.DOMNode.DOMNodeGetBaseUriMethodInfo
    ResolveDOMCharacterDataMethod "getChildNodes" o = WebKit2WebExtension.DOMNode.DOMNodeGetChildNodesMethodInfo
    ResolveDOMCharacterDataMethod "getData" o = DOMCharacterDataGetDataMethodInfo
    ResolveDOMCharacterDataMethod "getFirstChild" o = WebKit2WebExtension.DOMNode.DOMNodeGetFirstChildMethodInfo
    ResolveDOMCharacterDataMethod "getLastChild" o = WebKit2WebExtension.DOMNode.DOMNodeGetLastChildMethodInfo
    ResolveDOMCharacterDataMethod "getLength" o = DOMCharacterDataGetLengthMethodInfo
    ResolveDOMCharacterDataMethod "getLocalName" o = WebKit2WebExtension.DOMNode.DOMNodeGetLocalNameMethodInfo
    ResolveDOMCharacterDataMethod "getNamespaceUri" o = WebKit2WebExtension.DOMNode.DOMNodeGetNamespaceUriMethodInfo
    ResolveDOMCharacterDataMethod "getNextSibling" o = WebKit2WebExtension.DOMNode.DOMNodeGetNextSiblingMethodInfo
    ResolveDOMCharacterDataMethod "getNodeName" o = WebKit2WebExtension.DOMNode.DOMNodeGetNodeNameMethodInfo
    ResolveDOMCharacterDataMethod "getNodeType" o = WebKit2WebExtension.DOMNode.DOMNodeGetNodeTypeMethodInfo
    ResolveDOMCharacterDataMethod "getNodeValue" o = WebKit2WebExtension.DOMNode.DOMNodeGetNodeValueMethodInfo
    ResolveDOMCharacterDataMethod "getOwnerDocument" o = WebKit2WebExtension.DOMNode.DOMNodeGetOwnerDocumentMethodInfo
    ResolveDOMCharacterDataMethod "getParentElement" o = WebKit2WebExtension.DOMNode.DOMNodeGetParentElementMethodInfo
    ResolveDOMCharacterDataMethod "getParentNode" o = WebKit2WebExtension.DOMNode.DOMNodeGetParentNodeMethodInfo
    ResolveDOMCharacterDataMethod "getPrefix" o = WebKit2WebExtension.DOMNode.DOMNodeGetPrefixMethodInfo
    ResolveDOMCharacterDataMethod "getPreviousSibling" o = WebKit2WebExtension.DOMNode.DOMNodeGetPreviousSiblingMethodInfo
    ResolveDOMCharacterDataMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMCharacterDataMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMCharacterDataMethod "getTextContent" o = WebKit2WebExtension.DOMNode.DOMNodeGetTextContentMethodInfo
    ResolveDOMCharacterDataMethod "setData" o = DOMCharacterDataSetDataMethodInfo
    ResolveDOMCharacterDataMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveDOMCharacterDataMethod "setNodeValue" o = WebKit2WebExtension.DOMNode.DOMNodeSetNodeValueMethodInfo
    ResolveDOMCharacterDataMethod "setPrefix" o = WebKit2WebExtension.DOMNode.DOMNodeSetPrefixMethodInfo
    ResolveDOMCharacterDataMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMCharacterDataMethod "setTextContent" o = WebKit2WebExtension.DOMNode.DOMNodeSetTextContentMethodInfo
    ResolveDOMCharacterDataMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveDOMCharacterDataMethod t DOMCharacterData, O.OverloadedMethod info DOMCharacterData p) => OL.IsLabel t (DOMCharacterData -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod @info
#else
    fromLabel _ = O.overloadedMethod @info
#endif

#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveDOMCharacterDataMethod t DOMCharacterData, O.OverloadedMethod info DOMCharacterData p, R.HasField t DOMCharacterData p) => R.HasField t DOMCharacterData p where
    getField = O.overloadedMethod @info

#endif

instance (info ~ ResolveDOMCharacterDataMethod t DOMCharacterData, O.OverloadedMethodInfo info DOMCharacterData) => OL.IsLabel t (O.MethodProxy info DOMCharacterData) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.MethodProxy
#else
    fromLabel _ = O.MethodProxy
#endif

#endif

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

-- | Get the value of the “@data@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMCharacterData #data
-- @
getDOMCharacterDataData :: (MonadIO m, IsDOMCharacterData o) => o -> m (Maybe T.Text)
getDOMCharacterDataData :: forall (m :: * -> *) o.
(MonadIO m, IsDOMCharacterData o) =>
o -> m (Maybe Text)
getDOMCharacterDataData o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"data"

-- | Set the value of the “@data@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' dOMCharacterData [ #data 'Data.GI.Base.Attributes.:=' value ]
-- @
setDOMCharacterDataData :: (MonadIO m, IsDOMCharacterData o) => o -> T.Text -> m ()
setDOMCharacterDataData :: forall (m :: * -> *) o.
(MonadIO m, IsDOMCharacterData o) =>
o -> Text -> m ()
setDOMCharacterDataData o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"data" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a `GValueConstruct` with valid value for the “@data@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructDOMCharacterDataData :: (IsDOMCharacterData o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructDOMCharacterDataData :: forall o (m :: * -> *).
(IsDOMCharacterData o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructDOMCharacterDataData Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"data" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@data@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #data
-- @
clearDOMCharacterDataData :: (MonadIO m, IsDOMCharacterData o) => o -> m ()
clearDOMCharacterDataData :: forall (m :: * -> *) o.
(MonadIO m, IsDOMCharacterData o) =>
o -> m ()
clearDOMCharacterDataData o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"data" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data DOMCharacterDataDataPropertyInfo
instance AttrInfo DOMCharacterDataDataPropertyInfo where
    type AttrAllowedOps DOMCharacterDataDataPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMCharacterDataDataPropertyInfo = IsDOMCharacterData
    type AttrSetTypeConstraint DOMCharacterDataDataPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint DOMCharacterDataDataPropertyInfo = (~) T.Text
    type AttrTransferType DOMCharacterDataDataPropertyInfo = T.Text
    type AttrGetType DOMCharacterDataDataPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMCharacterDataDataPropertyInfo = "data"
    type AttrOrigin DOMCharacterDataDataPropertyInfo = DOMCharacterData
    attrGet = getDOMCharacterDataData
    attrSet = setDOMCharacterDataData
    attrTransfer _ v = do
        return v
    attrConstruct = constructDOMCharacterDataData
    attrClear = clearDOMCharacterDataData
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMCharacterData.data"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.31/docs/GI-WebKit2WebExtension-Objects-DOMCharacterData.html#g:attr:data"
        })
#endif

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

-- | Get the value of the “@length@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMCharacterData #length
-- @
getDOMCharacterDataLength :: (MonadIO m, IsDOMCharacterData o) => o -> m FCT.CULong
getDOMCharacterDataLength :: forall (m :: * -> *) o.
(MonadIO m, IsDOMCharacterData o) =>
o -> m CULong
getDOMCharacterDataLength o
obj = IO CULong -> m CULong
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO CULong -> m CULong) -> IO CULong -> m CULong
forall a b. (a -> b) -> a -> b
$ o -> String -> IO CULong
forall a. GObject a => a -> String -> IO CULong
B.Properties.getObjectPropertyULong o
obj String
"length"

#if defined(ENABLE_OVERLOADING)
data DOMCharacterDataLengthPropertyInfo
instance AttrInfo DOMCharacterDataLengthPropertyInfo where
    type AttrAllowedOps DOMCharacterDataLengthPropertyInfo = '[ 'AttrGet]
    type AttrBaseTypeConstraint DOMCharacterDataLengthPropertyInfo = IsDOMCharacterData
    type AttrSetTypeConstraint DOMCharacterDataLengthPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMCharacterDataLengthPropertyInfo = (~) ()
    type AttrTransferType DOMCharacterDataLengthPropertyInfo = ()
    type AttrGetType DOMCharacterDataLengthPropertyInfo = FCT.CULong
    type AttrLabel DOMCharacterDataLengthPropertyInfo = "length"
    type AttrOrigin DOMCharacterDataLengthPropertyInfo = DOMCharacterData
    attrGet = getDOMCharacterDataLength
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMCharacterData.length"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.31/docs/GI-WebKit2WebExtension-Objects-DOMCharacterData.html#g:attr:length"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DOMCharacterData
type instance O.AttributeList DOMCharacterData = DOMCharacterDataAttributeList
type DOMCharacterDataAttributeList = ('[ '("baseUri", WebKit2WebExtension.DOMNode.DOMNodeBaseUriPropertyInfo), '("childNodes", WebKit2WebExtension.DOMNode.DOMNodeChildNodesPropertyInfo), '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("data", DOMCharacterDataDataPropertyInfo), '("firstChild", WebKit2WebExtension.DOMNode.DOMNodeFirstChildPropertyInfo), '("lastChild", WebKit2WebExtension.DOMNode.DOMNodeLastChildPropertyInfo), '("length", DOMCharacterDataLengthPropertyInfo), '("nextSibling", WebKit2WebExtension.DOMNode.DOMNodeNextSiblingPropertyInfo), '("nodeName", WebKit2WebExtension.DOMNode.DOMNodeNodeNamePropertyInfo), '("nodeType", WebKit2WebExtension.DOMNode.DOMNodeNodeTypePropertyInfo), '("nodeValue", WebKit2WebExtension.DOMNode.DOMNodeNodeValuePropertyInfo), '("ownerDocument", WebKit2WebExtension.DOMNode.DOMNodeOwnerDocumentPropertyInfo), '("parentElement", WebKit2WebExtension.DOMNode.DOMNodeParentElementPropertyInfo), '("parentNode", WebKit2WebExtension.DOMNode.DOMNodeParentNodePropertyInfo), '("previousSibling", WebKit2WebExtension.DOMNode.DOMNodePreviousSiblingPropertyInfo), '("textContent", WebKit2WebExtension.DOMNode.DOMNodeTextContentPropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
dOMCharacterDataData :: AttrLabelProxy "data"
dOMCharacterDataData = AttrLabelProxy

dOMCharacterDataLength :: AttrLabelProxy "length"
dOMCharacterDataLength = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList DOMCharacterData = DOMCharacterDataSignalList
type DOMCharacterDataSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])

#endif

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

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

{-# DEPRECATED dOMCharacterDataAppendData ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCharacterDataAppendData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData'
    -> T.Text
    -- ^ /@data@/: A @/gchar/@
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
dOMCharacterDataAppendData :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMCharacterData a) =>
a -> Text -> m ()
dOMCharacterDataAppendData a
self Text
data_ = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCharacterData
self' <- a -> IO (Ptr DOMCharacterData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
data_' <- Text -> IO CString
textToCString Text
data_
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO ()) -> IO ())
-> (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DOMCharacterData -> CString -> Ptr (Ptr GError) -> IO ()
webkit_dom_character_data_append_data Ptr DOMCharacterData
self' CString
data_'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
data_'
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
data_'
     )

#if defined(ENABLE_OVERLOADING)
data DOMCharacterDataAppendDataMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMCharacterData a) => O.OverloadedMethod DOMCharacterDataAppendDataMethodInfo a signature where
    overloadedMethod = dOMCharacterDataAppendData

instance O.OverloadedMethodInfo DOMCharacterDataAppendDataMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMCharacterData.dOMCharacterDataAppendData",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.31/docs/GI-WebKit2WebExtension-Objects-DOMCharacterData.html#v:dOMCharacterDataAppendData"
        })


#endif

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

foreign import ccall "webkit_dom_character_data_delete_data" webkit_dom_character_data_delete_data :: 
    Ptr DOMCharacterData ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCharacterData"})
    FCT.CULong ->                           -- offset : TBasicType TULong
    FCT.CULong ->                           -- length : TBasicType TULong
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMCharacterDataDeleteData ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCharacterDataDeleteData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData'
    -> FCT.CULong
    -- ^ /@offset@/: A @/gulong/@
    -> FCT.CULong
    -- ^ /@length@/: A @/gulong/@
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
dOMCharacterDataDeleteData :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMCharacterData a) =>
a -> CULong -> CULong -> m ()
dOMCharacterDataDeleteData a
self CULong
offset CULong
length_ = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCharacterData
self' <- a -> IO (Ptr DOMCharacterData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO ()) -> IO ())
-> (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DOMCharacterData
-> CULong -> CULong -> Ptr (Ptr GError) -> IO ()
webkit_dom_character_data_delete_data Ptr DOMCharacterData
self' CULong
offset CULong
length_
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     )

#if defined(ENABLE_OVERLOADING)
data DOMCharacterDataDeleteDataMethodInfo
instance (signature ~ (FCT.CULong -> FCT.CULong -> m ()), MonadIO m, IsDOMCharacterData a) => O.OverloadedMethod DOMCharacterDataDeleteDataMethodInfo a signature where
    overloadedMethod = dOMCharacterDataDeleteData

instance O.OverloadedMethodInfo DOMCharacterDataDeleteDataMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMCharacterData.dOMCharacterDataDeleteData",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.31/docs/GI-WebKit2WebExtension-Objects-DOMCharacterData.html#v:dOMCharacterDataDeleteData"
        })


#endif

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

foreign import ccall "webkit_dom_character_data_get_data" webkit_dom_character_data_get_data :: 
    Ptr DOMCharacterData ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCharacterData"})
    IO CString

{-# DEPRECATED dOMCharacterDataGetData ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCharacterDataGetData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMCharacterDataGetData :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMCharacterData a) =>
a -> m Text
dOMCharacterDataGetData a
self = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCharacterData
self' <- a -> IO (Ptr DOMCharacterData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMCharacterData -> IO CString
webkit_dom_character_data_get_data Ptr DOMCharacterData
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMCharacterDataGetData" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data DOMCharacterDataGetDataMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMCharacterData a) => O.OverloadedMethod DOMCharacterDataGetDataMethodInfo a signature where
    overloadedMethod = dOMCharacterDataGetData

instance O.OverloadedMethodInfo DOMCharacterDataGetDataMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMCharacterData.dOMCharacterDataGetData",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.31/docs/GI-WebKit2WebExtension-Objects-DOMCharacterData.html#v:dOMCharacterDataGetData"
        })


#endif

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

foreign import ccall "webkit_dom_character_data_get_length" webkit_dom_character_data_get_length :: 
    Ptr DOMCharacterData ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCharacterData"})
    IO FCT.CULong

{-# DEPRECATED dOMCharacterDataGetLength ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCharacterDataGetLength ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData'
    -> m FCT.CULong
    -- ^ __Returns:__ A @/gulong/@
dOMCharacterDataGetLength :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMCharacterData a) =>
a -> m CULong
dOMCharacterDataGetLength a
self = IO CULong -> m CULong
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CULong -> m CULong) -> IO CULong -> m CULong
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCharacterData
self' <- a -> IO (Ptr DOMCharacterData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CULong
result <- Ptr DOMCharacterData -> IO CULong
webkit_dom_character_data_get_length Ptr DOMCharacterData
self'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CULong -> IO CULong
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CULong
result

#if defined(ENABLE_OVERLOADING)
data DOMCharacterDataGetLengthMethodInfo
instance (signature ~ (m FCT.CULong), MonadIO m, IsDOMCharacterData a) => O.OverloadedMethod DOMCharacterDataGetLengthMethodInfo a signature where
    overloadedMethod = dOMCharacterDataGetLength

instance O.OverloadedMethodInfo DOMCharacterDataGetLengthMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMCharacterData.dOMCharacterDataGetLength",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.31/docs/GI-WebKit2WebExtension-Objects-DOMCharacterData.html#v:dOMCharacterDataGetLength"
        })


#endif

-- method DOMCharacterData::insert_data
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name
--                   { namespace = "WebKit2WebExtension" , name = "DOMCharacterData" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMCharacterData"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "offset"
--           , argType = TBasicType TULong
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gulong" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "data"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gchar" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_character_data_insert_data" webkit_dom_character_data_insert_data :: 
    Ptr DOMCharacterData ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCharacterData"})
    FCT.CULong ->                           -- offset : TBasicType TULong
    CString ->                              -- data : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMCharacterDataInsertData ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCharacterDataInsertData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData'
    -> FCT.CULong
    -- ^ /@offset@/: A @/gulong/@
    -> T.Text
    -- ^ /@data@/: A @/gchar/@
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
dOMCharacterDataInsertData :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMCharacterData a) =>
a -> CULong -> Text -> m ()
dOMCharacterDataInsertData a
self CULong
offset Text
data_ = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCharacterData
self' <- a -> IO (Ptr DOMCharacterData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
data_' <- Text -> IO CString
textToCString Text
data_
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO ()) -> IO ())
-> (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DOMCharacterData
-> CULong -> CString -> Ptr (Ptr GError) -> IO ()
webkit_dom_character_data_insert_data Ptr DOMCharacterData
self' CULong
offset CString
data_'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
data_'
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
data_'
     )

#if defined(ENABLE_OVERLOADING)
data DOMCharacterDataInsertDataMethodInfo
instance (signature ~ (FCT.CULong -> T.Text -> m ()), MonadIO m, IsDOMCharacterData a) => O.OverloadedMethod DOMCharacterDataInsertDataMethodInfo a signature where
    overloadedMethod = dOMCharacterDataInsertData

instance O.OverloadedMethodInfo DOMCharacterDataInsertDataMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMCharacterData.dOMCharacterDataInsertData",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.31/docs/GI-WebKit2WebExtension-Objects-DOMCharacterData.html#v:dOMCharacterDataInsertData"
        })


#endif

-- method DOMCharacterData::replace_data
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name
--                   { namespace = "WebKit2WebExtension" , name = "DOMCharacterData" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMCharacterData"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "offset"
--           , argType = TBasicType TULong
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gulong" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "length"
--           , argType = TBasicType TULong
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gulong" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "data"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gchar" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_character_data_replace_data" webkit_dom_character_data_replace_data :: 
    Ptr DOMCharacterData ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCharacterData"})
    FCT.CULong ->                           -- offset : TBasicType TULong
    FCT.CULong ->                           -- length : TBasicType TULong
    CString ->                              -- data : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMCharacterDataReplaceData ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCharacterDataReplaceData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData'
    -> FCT.CULong
    -- ^ /@offset@/: A @/gulong/@
    -> FCT.CULong
    -- ^ /@length@/: A @/gulong/@
    -> T.Text
    -- ^ /@data@/: A @/gchar/@
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
dOMCharacterDataReplaceData :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMCharacterData a) =>
a -> CULong -> CULong -> Text -> m ()
dOMCharacterDataReplaceData a
self CULong
offset CULong
length_ Text
data_ = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCharacterData
self' <- a -> IO (Ptr DOMCharacterData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
data_' <- Text -> IO CString
textToCString Text
data_
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO ()) -> IO ())
-> (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DOMCharacterData
-> CULong -> CULong -> CString -> Ptr (Ptr GError) -> IO ()
webkit_dom_character_data_replace_data Ptr DOMCharacterData
self' CULong
offset CULong
length_ CString
data_'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
data_'
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
data_'
     )

#if defined(ENABLE_OVERLOADING)
data DOMCharacterDataReplaceDataMethodInfo
instance (signature ~ (FCT.CULong -> FCT.CULong -> T.Text -> m ()), MonadIO m, IsDOMCharacterData a) => O.OverloadedMethod DOMCharacterDataReplaceDataMethodInfo a signature where
    overloadedMethod = dOMCharacterDataReplaceData

instance O.OverloadedMethodInfo DOMCharacterDataReplaceDataMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMCharacterData.dOMCharacterDataReplaceData",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.31/docs/GI-WebKit2WebExtension-Objects-DOMCharacterData.html#v:dOMCharacterDataReplaceData"
        })


#endif

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

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

{-# DEPRECATED dOMCharacterDataSetData ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCharacterDataSetData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData'
    -> T.Text
    -- ^ /@value@/: A @/gchar/@
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
dOMCharacterDataSetData :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMCharacterData a) =>
a -> Text -> m ()
dOMCharacterDataSetData a
self Text
value = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCharacterData
self' <- a -> IO (Ptr DOMCharacterData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
value' <- Text -> IO CString
textToCString Text
value
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO ()) -> IO ())
-> (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DOMCharacterData -> CString -> Ptr (Ptr GError) -> IO ()
webkit_dom_character_data_set_data Ptr DOMCharacterData
self' CString
value'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
     )

#if defined(ENABLE_OVERLOADING)
data DOMCharacterDataSetDataMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMCharacterData a) => O.OverloadedMethod DOMCharacterDataSetDataMethodInfo a signature where
    overloadedMethod = dOMCharacterDataSetData

instance O.OverloadedMethodInfo DOMCharacterDataSetDataMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMCharacterData.dOMCharacterDataSetData",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.31/docs/GI-WebKit2WebExtension-Objects-DOMCharacterData.html#v:dOMCharacterDataSetData"
        })


#endif

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

foreign import ccall "webkit_dom_character_data_substring_data" webkit_dom_character_data_substring_data :: 
    Ptr DOMCharacterData ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCharacterData"})
    FCT.CULong ->                           -- offset : TBasicType TULong
    FCT.CULong ->                           -- length : TBasicType TULong
    Ptr (Ptr GError) ->                     -- error
    IO CString

{-# DEPRECATED dOMCharacterDataSubstringData ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCharacterDataSubstringData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData'
    -> FCT.CULong
    -- ^ /@offset@/: A @/gulong/@
    -> FCT.CULong
    -- ^ /@length@/: A @/gulong/@
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@ /(Can throw 'Data.GI.Base.GError.GError')/
dOMCharacterDataSubstringData :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMCharacterData a) =>
a -> CULong -> CULong -> m Text
dOMCharacterDataSubstringData a
self CULong
offset CULong
length_ = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCharacterData
self' <- a -> IO (Ptr DOMCharacterData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    IO Text -> IO () -> IO Text
forall a b. IO a -> IO b -> IO a
onException (do
        CString
result <- (Ptr (Ptr GError) -> IO CString) -> IO CString
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CString) -> IO CString)
-> (Ptr (Ptr GError) -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ Ptr DOMCharacterData
-> CULong -> CULong -> Ptr (Ptr GError) -> IO CString
webkit_dom_character_data_substring_data Ptr DOMCharacterData
self' CULong
offset CULong
length_
        Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMCharacterDataSubstringData" CString
result
        Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
     ) (do
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     )

#if defined(ENABLE_OVERLOADING)
data DOMCharacterDataSubstringDataMethodInfo
instance (signature ~ (FCT.CULong -> FCT.CULong -> m T.Text), MonadIO m, IsDOMCharacterData a) => O.OverloadedMethod DOMCharacterDataSubstringDataMethodInfo a signature where
    overloadedMethod = dOMCharacterDataSubstringData

instance O.OverloadedMethodInfo DOMCharacterDataSubstringDataMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMCharacterData.dOMCharacterDataSubstringData",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.31/docs/GI-WebKit2WebExtension-Objects-DOMCharacterData.html#v:dOMCharacterDataSubstringData"
        })


#endif