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

module GI.WebKit2WebExtension.Objects.DOMCharacterData
    ( 

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


 -- * Methods
-- ** appendData #method:appendData#
    DOMCharacterDataAppendDataMethodInfo    ,
    dOMCharacterDataAppendData              ,


-- ** deleteData #method:deleteData#
    DOMCharacterDataDeleteDataMethodInfo    ,
    dOMCharacterDataDeleteData              ,


-- ** getData #method:getData#
    DOMCharacterDataGetDataMethodInfo       ,
    dOMCharacterDataGetData                 ,


-- ** getLength #method:getLength#
    DOMCharacterDataGetLengthMethodInfo     ,
    dOMCharacterDataGetLength               ,


-- ** insertData #method:insertData#
    DOMCharacterDataInsertDataMethodInfo    ,
    dOMCharacterDataInsertData              ,


-- ** replaceData #method:replaceData#
    DOMCharacterDataReplaceDataMethodInfo   ,
    dOMCharacterDataReplaceData             ,


-- ** setData #method:setData#
    DOMCharacterDataSetDataMethodInfo       ,
    dOMCharacterDataSetData                 ,


-- ** substringData #method:substringData#
    DOMCharacterDataSubstringDataMethodInfo ,
    dOMCharacterDataSubstringData           ,




 -- * Properties
-- ** data #attr:data#
    DOMCharacterDataDataPropertyInfo        ,
    clearDOMCharacterDataData               ,
    constructDOMCharacterDataData           ,
    dOMCharacterDataData                    ,
    getDOMCharacterDataData                 ,
    setDOMCharacterDataData                 ,


-- ** length #attr:length#
    DOMCharacterDataLengthPropertyInfo      ,
    dOMCharacterDataLength                  ,
    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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP

import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.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

newtype DOMCharacterData = DOMCharacterData (ManagedPtr DOMCharacterData)
foreign import ccall "webkit_dom_character_data_get_type"
    c_webkit_dom_character_data_get_type :: IO GType

instance GObject DOMCharacterData where
    gobjectType _ = c_webkit_dom_character_data_get_type
    

class GObject o => IsDOMCharacterData o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError DOMCharacterData a) =>
    IsDOMCharacterData a
#endif
instance IsDOMCharacterData DOMCharacterData
instance WebKit2WebExtension.DOMNode.IsDOMNode DOMCharacterData
instance WebKit2WebExtension.DOMObject.IsDOMObject DOMCharacterData
instance GObject.Object.IsObject DOMCharacterData
instance WebKit2WebExtension.DOMEventTarget.IsDOMEventTarget DOMCharacterData

toDOMCharacterData :: IsDOMCharacterData o => o -> IO DOMCharacterData
toDOMCharacterData = unsafeCastTo DOMCharacterData

noDOMCharacterData :: Maybe DOMCharacterData
noDOMCharacterData = Nothing

type family ResolveDOMCharacterDataMethod (t :: Symbol) (o :: *) :: * 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 "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 "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    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 "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.MethodInfo info DOMCharacterData p) => O.IsLabelProxy t (DOMCharacterData -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDOMCharacterDataMethod t DOMCharacterData, O.MethodInfo info DOMCharacterData p) => O.IsLabel t (DOMCharacterData -> p) where
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

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

getDOMCharacterDataData :: (MonadIO m, IsDOMCharacterData o) => o -> m (Maybe T.Text)
getDOMCharacterDataData obj = liftIO $ getObjectPropertyString obj "data"

setDOMCharacterDataData :: (MonadIO m, IsDOMCharacterData o) => o -> T.Text -> m ()
setDOMCharacterDataData obj val = liftIO $ setObjectPropertyString obj "data" (Just val)

constructDOMCharacterDataData :: (IsDOMCharacterData o) => T.Text -> IO (GValueConstruct o)
constructDOMCharacterDataData val = constructObjectPropertyString "data" (Just val)

clearDOMCharacterDataData :: (MonadIO m, IsDOMCharacterData o) => o -> m ()
clearDOMCharacterDataData obj = liftIO $ setObjectPropertyString obj "data" (Nothing :: Maybe T.Text)

data DOMCharacterDataDataPropertyInfo
instance AttrInfo DOMCharacterDataDataPropertyInfo where
    type AttrAllowedOps DOMCharacterDataDataPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMCharacterDataDataPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMCharacterDataDataPropertyInfo = IsDOMCharacterData
    type AttrGetType DOMCharacterDataDataPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMCharacterDataDataPropertyInfo = "data"
    type AttrOrigin DOMCharacterDataDataPropertyInfo = DOMCharacterData
    attrGet _ = getDOMCharacterDataData
    attrSet _ = setDOMCharacterDataData
    attrConstruct _ = constructDOMCharacterDataData
    attrClear _ = clearDOMCharacterDataData

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

getDOMCharacterDataLength :: (MonadIO m, IsDOMCharacterData o) => o -> m CULong
getDOMCharacterDataLength obj = liftIO $ getObjectPropertyULong obj "length"

data DOMCharacterDataLengthPropertyInfo
instance AttrInfo DOMCharacterDataLengthPropertyInfo where
    type AttrAllowedOps DOMCharacterDataLengthPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMCharacterDataLengthPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMCharacterDataLengthPropertyInfo = IsDOMCharacterData
    type AttrGetType DOMCharacterDataLengthPropertyInfo = CULong
    type AttrLabel DOMCharacterDataLengthPropertyInfo = "length"
    type AttrOrigin DOMCharacterDataLengthPropertyInfo = DOMCharacterData
    attrGet _ = getDOMCharacterDataLength
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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, *)])

dOMCharacterDataData :: AttrLabelProxy "data"
dOMCharacterDataData = AttrLabelProxy

dOMCharacterDataLength :: AttrLabelProxy "length"
dOMCharacterDataLength = AttrLabelProxy

type instance O.SignalList DOMCharacterData = DOMCharacterDataSignalList
type DOMCharacterDataSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

-- 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, 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, 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 ()

{- |
/No description available in the introspection data./
-}
dOMCharacterDataAppendData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData' -}
    -> T.Text
    {- ^ /@data@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMCharacterDataAppendData self data_ = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    data_' <- textToCString data_
    onException (do
        propagateGError $ webkit_dom_character_data_append_data self' data_'
        touchManagedPtr self
        freeMem data_'
        return ()
     ) (do
        freeMem data_'
     )

data DOMCharacterDataAppendDataMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMCharacterData a) => O.MethodInfo DOMCharacterDataAppendDataMethodInfo a signature where
    overloadedMethod _ = dOMCharacterDataAppendData

-- 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, 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, 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, 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"})
    CULong ->                               -- offset : TBasicType TULong
    CULong ->                               -- length : TBasicType TULong
    Ptr (Ptr GError) ->                     -- error
    IO ()

{- |
/No description available in the introspection data./
-}
dOMCharacterDataDeleteData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData' -}
    -> CULong
    {- ^ /@offset@/: A @/gulong/@ -}
    -> CULong
    {- ^ /@length@/: A @/gulong/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMCharacterDataDeleteData self offset length_ = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        propagateGError $ webkit_dom_character_data_delete_data self' offset length_
        touchManagedPtr self
        return ()
     ) (do
        return ()
     )

data DOMCharacterDataDeleteDataMethodInfo
instance (signature ~ (CULong -> CULong -> m ()), MonadIO m, IsDOMCharacterData a) => O.MethodInfo DOMCharacterDataDeleteDataMethodInfo a signature where
    overloadedMethod _ = dOMCharacterDataDeleteData

-- 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, 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

{- |
/No description available in the introspection data./
-}
dOMCharacterDataGetData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMCharacterDataGetData self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_character_data_get_data self'
    checkUnexpectedReturnNULL "dOMCharacterDataGetData" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMCharacterDataGetDataMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMCharacterData a) => O.MethodInfo DOMCharacterDataGetDataMethodInfo a signature where
    overloadedMethod _ = dOMCharacterDataGetData

-- 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, 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 CULong

{- |
/No description available in the introspection data./
-}
dOMCharacterDataGetLength ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData' -}
    -> m CULong
    {- ^ __Returns:__ A @/gulong/@ -}
dOMCharacterDataGetLength self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_character_data_get_length self'
    touchManagedPtr self
    return result

data DOMCharacterDataGetLengthMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMCharacterData a) => O.MethodInfo DOMCharacterDataGetLengthMethodInfo a signature where
    overloadedMethod _ = dOMCharacterDataGetLength

-- 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, 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, 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, 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"})
    CULong ->                               -- offset : TBasicType TULong
    CString ->                              -- data : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{- |
/No description available in the introspection data./
-}
dOMCharacterDataInsertData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData' -}
    -> CULong
    {- ^ /@offset@/: A @/gulong/@ -}
    -> T.Text
    {- ^ /@data@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMCharacterDataInsertData self offset data_ = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    data_' <- textToCString data_
    onException (do
        propagateGError $ webkit_dom_character_data_insert_data self' offset data_'
        touchManagedPtr self
        freeMem data_'
        return ()
     ) (do
        freeMem data_'
     )

data DOMCharacterDataInsertDataMethodInfo
instance (signature ~ (CULong -> T.Text -> m ()), MonadIO m, IsDOMCharacterData a) => O.MethodInfo DOMCharacterDataInsertDataMethodInfo a signature where
    overloadedMethod _ = dOMCharacterDataInsertData

-- 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, 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, 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, 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, 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"})
    CULong ->                               -- offset : TBasicType TULong
    CULong ->                               -- length : TBasicType TULong
    CString ->                              -- data : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{- |
/No description available in the introspection data./
-}
dOMCharacterDataReplaceData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData' -}
    -> CULong
    {- ^ /@offset@/: A @/gulong/@ -}
    -> CULong
    {- ^ /@length@/: A @/gulong/@ -}
    -> T.Text
    {- ^ /@data@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMCharacterDataReplaceData self offset length_ data_ = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    data_' <- textToCString data_
    onException (do
        propagateGError $ webkit_dom_character_data_replace_data self' offset length_ data_'
        touchManagedPtr self
        freeMem data_'
        return ()
     ) (do
        freeMem data_'
     )

data DOMCharacterDataReplaceDataMethodInfo
instance (signature ~ (CULong -> CULong -> T.Text -> m ()), MonadIO m, IsDOMCharacterData a) => O.MethodInfo DOMCharacterDataReplaceDataMethodInfo a signature where
    overloadedMethod _ = dOMCharacterDataReplaceData

-- 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, 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, 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 ()

{- |
/No description available in the introspection data./
-}
dOMCharacterDataSetData ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCharacterData a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCharacterData.DOMCharacterData' -}
    -> T.Text
    {- ^ /@value@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMCharacterDataSetData self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    value' <- textToCString value
    onException (do
        propagateGError $ webkit_dom_character_data_set_data self' value'
        touchManagedPtr self
        freeMem value'
        return ()
     ) (do
        freeMem value'
     )

data DOMCharacterDataSetDataMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMCharacterData a) => O.MethodInfo DOMCharacterDataSetDataMethodInfo a signature where
    overloadedMethod _ = dOMCharacterDataSetData

-- 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, 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, 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, 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"})
    CULong ->                               -- offset : TBasicType TULong
    CULong ->                               -- length : TBasicType TULong
    Ptr (Ptr GError) ->                     -- error
    IO CString

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

data DOMCharacterDataSubstringDataMethodInfo
instance (signature ~ (CULong -> CULong -> m T.Text), MonadIO m, IsDOMCharacterData a) => O.MethodInfo DOMCharacterDataSubstringDataMethodInfo a signature where
    overloadedMethod _ = dOMCharacterDataSubstringData