{- |
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.DOMDocumentFragment
    ( 

-- * Exported types
    DOMDocumentFragment(..)                 ,
    IsDOMDocumentFragment                   ,
    toDOMDocumentFragment                   ,
    noDOMDocumentFragment                   ,


 -- * Methods
-- ** getChildElementCount #method:getChildElementCount#
    DOMDocumentFragmentGetChildElementCountMethodInfo,
    dOMDocumentFragmentGetChildElementCount ,


-- ** getChildren #method:getChildren#
    DOMDocumentFragmentGetChildrenMethodInfo,
    dOMDocumentFragmentGetChildren          ,


-- ** getElementById #method:getElementById#
    DOMDocumentFragmentGetElementByIdMethodInfo,
    dOMDocumentFragmentGetElementById       ,


-- ** getFirstElementChild #method:getFirstElementChild#
    DOMDocumentFragmentGetFirstElementChildMethodInfo,
    dOMDocumentFragmentGetFirstElementChild ,


-- ** getLastElementChild #method:getLastElementChild#
    DOMDocumentFragmentGetLastElementChildMethodInfo,
    dOMDocumentFragmentGetLastElementChild  ,


-- ** querySelector #method:querySelector#
    DOMDocumentFragmentQuerySelectorMethodInfo,
    dOMDocumentFragmentQuerySelector        ,


-- ** querySelectorAll #method:querySelectorAll#
    DOMDocumentFragmentQuerySelectorAllMethodInfo,
    dOMDocumentFragmentQuerySelectorAll     ,




 -- * Properties
-- ** childElementCount #attr:childElementCount#
    DOMDocumentFragmentChildElementCountPropertyInfo,
    dOMDocumentFragmentChildElementCount    ,
    getDOMDocumentFragmentChildElementCount ,


-- ** children #attr:children#
    DOMDocumentFragmentChildrenPropertyInfo ,
    dOMDocumentFragmentChildren             ,
    getDOMDocumentFragmentChildren          ,


-- ** firstElementChild #attr:firstElementChild#
    DOMDocumentFragmentFirstElementChildPropertyInfo,
    dOMDocumentFragmentFirstElementChild    ,
    getDOMDocumentFragmentFirstElementChild ,


-- ** lastElementChild #attr:lastElementChild#
    DOMDocumentFragmentLastElementChildPropertyInfo,
    dOMDocumentFragmentLastElementChild     ,
    getDOMDocumentFragmentLastElementChild  ,




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

newtype DOMDocumentFragment = DOMDocumentFragment (ManagedPtr DOMDocumentFragment)
foreign import ccall "webkit_dom_document_fragment_get_type"
    c_webkit_dom_document_fragment_get_type :: IO GType

instance GObject DOMDocumentFragment where
    gobjectType _ = c_webkit_dom_document_fragment_get_type
    

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

toDOMDocumentFragment :: IsDOMDocumentFragment o => o -> IO DOMDocumentFragment
toDOMDocumentFragment = unsafeCastTo DOMDocumentFragment

noDOMDocumentFragment :: Maybe DOMDocumentFragment
noDOMDocumentFragment = Nothing

type family ResolveDOMDocumentFragmentMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMDocumentFragmentMethod "addEventListener" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetAddEventListenerMethodInfo
    ResolveDOMDocumentFragmentMethod "appendChild" o = WebKit2WebExtension.DOMNode.DOMNodeAppendChildMethodInfo
    ResolveDOMDocumentFragmentMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMDocumentFragmentMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMDocumentFragmentMethod "cloneNodeWithError" o = WebKit2WebExtension.DOMNode.DOMNodeCloneNodeWithErrorMethodInfo
    ResolveDOMDocumentFragmentMethod "compareDocumentPosition" o = WebKit2WebExtension.DOMNode.DOMNodeCompareDocumentPositionMethodInfo
    ResolveDOMDocumentFragmentMethod "contains" o = WebKit2WebExtension.DOMNode.DOMNodeContainsMethodInfo
    ResolveDOMDocumentFragmentMethod "dispatchEvent" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetDispatchEventMethodInfo
    ResolveDOMDocumentFragmentMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMDocumentFragmentMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMDocumentFragmentMethod "hasChildNodes" o = WebKit2WebExtension.DOMNode.DOMNodeHasChildNodesMethodInfo
    ResolveDOMDocumentFragmentMethod "insertBefore" o = WebKit2WebExtension.DOMNode.DOMNodeInsertBeforeMethodInfo
    ResolveDOMDocumentFragmentMethod "isDefaultNamespace" o = WebKit2WebExtension.DOMNode.DOMNodeIsDefaultNamespaceMethodInfo
    ResolveDOMDocumentFragmentMethod "isEqualNode" o = WebKit2WebExtension.DOMNode.DOMNodeIsEqualNodeMethodInfo
    ResolveDOMDocumentFragmentMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMDocumentFragmentMethod "isSameNode" o = WebKit2WebExtension.DOMNode.DOMNodeIsSameNodeMethodInfo
    ResolveDOMDocumentFragmentMethod "isSupported" o = WebKit2WebExtension.DOMNode.DOMNodeIsSupportedMethodInfo
    ResolveDOMDocumentFragmentMethod "lookupNamespaceUri" o = WebKit2WebExtension.DOMNode.DOMNodeLookupNamespaceUriMethodInfo
    ResolveDOMDocumentFragmentMethod "lookupPrefix" o = WebKit2WebExtension.DOMNode.DOMNodeLookupPrefixMethodInfo
    ResolveDOMDocumentFragmentMethod "normalize" o = WebKit2WebExtension.DOMNode.DOMNodeNormalizeMethodInfo
    ResolveDOMDocumentFragmentMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMDocumentFragmentMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMDocumentFragmentMethod "querySelector" o = DOMDocumentFragmentQuerySelectorMethodInfo
    ResolveDOMDocumentFragmentMethod "querySelectorAll" o = DOMDocumentFragmentQuerySelectorAllMethodInfo
    ResolveDOMDocumentFragmentMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMDocumentFragmentMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMDocumentFragmentMethod "removeChild" o = WebKit2WebExtension.DOMNode.DOMNodeRemoveChildMethodInfo
    ResolveDOMDocumentFragmentMethod "removeEventListener" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetRemoveEventListenerMethodInfo
    ResolveDOMDocumentFragmentMethod "replaceChild" o = WebKit2WebExtension.DOMNode.DOMNodeReplaceChildMethodInfo
    ResolveDOMDocumentFragmentMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMDocumentFragmentMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveDOMDocumentFragmentMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMDocumentFragmentMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMDocumentFragmentMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMDocumentFragmentMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMDocumentFragmentMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMDocumentFragmentMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMDocumentFragmentMethod "getBaseUri" o = WebKit2WebExtension.DOMNode.DOMNodeGetBaseUriMethodInfo
    ResolveDOMDocumentFragmentMethod "getChildElementCount" o = DOMDocumentFragmentGetChildElementCountMethodInfo
    ResolveDOMDocumentFragmentMethod "getChildNodes" o = WebKit2WebExtension.DOMNode.DOMNodeGetChildNodesMethodInfo
    ResolveDOMDocumentFragmentMethod "getChildren" o = DOMDocumentFragmentGetChildrenMethodInfo
    ResolveDOMDocumentFragmentMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMDocumentFragmentMethod "getElementById" o = DOMDocumentFragmentGetElementByIdMethodInfo
    ResolveDOMDocumentFragmentMethod "getFirstChild" o = WebKit2WebExtension.DOMNode.DOMNodeGetFirstChildMethodInfo
    ResolveDOMDocumentFragmentMethod "getFirstElementChild" o = DOMDocumentFragmentGetFirstElementChildMethodInfo
    ResolveDOMDocumentFragmentMethod "getLastChild" o = WebKit2WebExtension.DOMNode.DOMNodeGetLastChildMethodInfo
    ResolveDOMDocumentFragmentMethod "getLastElementChild" o = DOMDocumentFragmentGetLastElementChildMethodInfo
    ResolveDOMDocumentFragmentMethod "getLocalName" o = WebKit2WebExtension.DOMNode.DOMNodeGetLocalNameMethodInfo
    ResolveDOMDocumentFragmentMethod "getNamespaceUri" o = WebKit2WebExtension.DOMNode.DOMNodeGetNamespaceUriMethodInfo
    ResolveDOMDocumentFragmentMethod "getNextSibling" o = WebKit2WebExtension.DOMNode.DOMNodeGetNextSiblingMethodInfo
    ResolveDOMDocumentFragmentMethod "getNodeName" o = WebKit2WebExtension.DOMNode.DOMNodeGetNodeNameMethodInfo
    ResolveDOMDocumentFragmentMethod "getNodeType" o = WebKit2WebExtension.DOMNode.DOMNodeGetNodeTypeMethodInfo
    ResolveDOMDocumentFragmentMethod "getNodeValue" o = WebKit2WebExtension.DOMNode.DOMNodeGetNodeValueMethodInfo
    ResolveDOMDocumentFragmentMethod "getOwnerDocument" o = WebKit2WebExtension.DOMNode.DOMNodeGetOwnerDocumentMethodInfo
    ResolveDOMDocumentFragmentMethod "getParentElement" o = WebKit2WebExtension.DOMNode.DOMNodeGetParentElementMethodInfo
    ResolveDOMDocumentFragmentMethod "getParentNode" o = WebKit2WebExtension.DOMNode.DOMNodeGetParentNodeMethodInfo
    ResolveDOMDocumentFragmentMethod "getPrefix" o = WebKit2WebExtension.DOMNode.DOMNodeGetPrefixMethodInfo
    ResolveDOMDocumentFragmentMethod "getPreviousSibling" o = WebKit2WebExtension.DOMNode.DOMNodeGetPreviousSiblingMethodInfo
    ResolveDOMDocumentFragmentMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMDocumentFragmentMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMDocumentFragmentMethod "getTextContent" o = WebKit2WebExtension.DOMNode.DOMNodeGetTextContentMethodInfo
    ResolveDOMDocumentFragmentMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMDocumentFragmentMethod "setNodeValue" o = WebKit2WebExtension.DOMNode.DOMNodeSetNodeValueMethodInfo
    ResolveDOMDocumentFragmentMethod "setPrefix" o = WebKit2WebExtension.DOMNode.DOMNodeSetPrefixMethodInfo
    ResolveDOMDocumentFragmentMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMDocumentFragmentMethod "setTextContent" o = WebKit2WebExtension.DOMNode.DOMNodeSetTextContentMethodInfo
    ResolveDOMDocumentFragmentMethod l o = O.MethodResolutionFailed l o

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

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

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

getDOMDocumentFragmentChildElementCount :: (MonadIO m, IsDOMDocumentFragment o) => o -> m CULong
getDOMDocumentFragmentChildElementCount obj = liftIO $ getObjectPropertyULong obj "child-element-count"

data DOMDocumentFragmentChildElementCountPropertyInfo
instance AttrInfo DOMDocumentFragmentChildElementCountPropertyInfo where
    type AttrAllowedOps DOMDocumentFragmentChildElementCountPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentFragmentChildElementCountPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentFragmentChildElementCountPropertyInfo = IsDOMDocumentFragment
    type AttrGetType DOMDocumentFragmentChildElementCountPropertyInfo = CULong
    type AttrLabel DOMDocumentFragmentChildElementCountPropertyInfo = "child-element-count"
    type AttrOrigin DOMDocumentFragmentChildElementCountPropertyInfo = DOMDocumentFragment
    attrGet _ = getDOMDocumentFragmentChildElementCount
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMDocumentFragmentChildren :: (MonadIO m, IsDOMDocumentFragment o) => o -> m (Maybe WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection)
getDOMDocumentFragmentChildren obj = liftIO $ getObjectPropertyObject obj "children" WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection

data DOMDocumentFragmentChildrenPropertyInfo
instance AttrInfo DOMDocumentFragmentChildrenPropertyInfo where
    type AttrAllowedOps DOMDocumentFragmentChildrenPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMDocumentFragmentChildrenPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentFragmentChildrenPropertyInfo = IsDOMDocumentFragment
    type AttrGetType DOMDocumentFragmentChildrenPropertyInfo = (Maybe WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection)
    type AttrLabel DOMDocumentFragmentChildrenPropertyInfo = "children"
    type AttrOrigin DOMDocumentFragmentChildrenPropertyInfo = DOMDocumentFragment
    attrGet _ = getDOMDocumentFragmentChildren
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "first-element-child"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMDocumentFragmentFirstElementChild :: (MonadIO m, IsDOMDocumentFragment o) => o -> m WebKit2WebExtension.DOMElement.DOMElement
getDOMDocumentFragmentFirstElementChild obj = liftIO $ checkUnexpectedNothing "getDOMDocumentFragmentFirstElementChild" $ getObjectPropertyObject obj "first-element-child" WebKit2WebExtension.DOMElement.DOMElement

data DOMDocumentFragmentFirstElementChildPropertyInfo
instance AttrInfo DOMDocumentFragmentFirstElementChildPropertyInfo where
    type AttrAllowedOps DOMDocumentFragmentFirstElementChildPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMDocumentFragmentFirstElementChildPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentFragmentFirstElementChildPropertyInfo = IsDOMDocumentFragment
    type AttrGetType DOMDocumentFragmentFirstElementChildPropertyInfo = WebKit2WebExtension.DOMElement.DOMElement
    type AttrLabel DOMDocumentFragmentFirstElementChildPropertyInfo = "first-element-child"
    type AttrOrigin DOMDocumentFragmentFirstElementChildPropertyInfo = DOMDocumentFragment
    attrGet _ = getDOMDocumentFragmentFirstElementChild
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "last-element-child"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMDocumentFragmentLastElementChild :: (MonadIO m, IsDOMDocumentFragment o) => o -> m WebKit2WebExtension.DOMElement.DOMElement
getDOMDocumentFragmentLastElementChild obj = liftIO $ checkUnexpectedNothing "getDOMDocumentFragmentLastElementChild" $ getObjectPropertyObject obj "last-element-child" WebKit2WebExtension.DOMElement.DOMElement

data DOMDocumentFragmentLastElementChildPropertyInfo
instance AttrInfo DOMDocumentFragmentLastElementChildPropertyInfo where
    type AttrAllowedOps DOMDocumentFragmentLastElementChildPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMDocumentFragmentLastElementChildPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentFragmentLastElementChildPropertyInfo = IsDOMDocumentFragment
    type AttrGetType DOMDocumentFragmentLastElementChildPropertyInfo = WebKit2WebExtension.DOMElement.DOMElement
    type AttrLabel DOMDocumentFragmentLastElementChildPropertyInfo = "last-element-child"
    type AttrOrigin DOMDocumentFragmentLastElementChildPropertyInfo = DOMDocumentFragment
    attrGet _ = getDOMDocumentFragmentLastElementChild
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

instance O.HasAttributeList DOMDocumentFragment
type instance O.AttributeList DOMDocumentFragment = DOMDocumentFragmentAttributeList
type DOMDocumentFragmentAttributeList = ('[ '("baseUri", WebKit2WebExtension.DOMNode.DOMNodeBaseUriPropertyInfo), '("childElementCount", DOMDocumentFragmentChildElementCountPropertyInfo), '("childNodes", WebKit2WebExtension.DOMNode.DOMNodeChildNodesPropertyInfo), '("children", DOMDocumentFragmentChildrenPropertyInfo), '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("firstChild", WebKit2WebExtension.DOMNode.DOMNodeFirstChildPropertyInfo), '("firstElementChild", DOMDocumentFragmentFirstElementChildPropertyInfo), '("lastChild", WebKit2WebExtension.DOMNode.DOMNodeLastChildPropertyInfo), '("lastElementChild", DOMDocumentFragmentLastElementChildPropertyInfo), '("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, *)])

dOMDocumentFragmentChildElementCount :: AttrLabelProxy "childElementCount"
dOMDocumentFragmentChildElementCount = AttrLabelProxy

dOMDocumentFragmentChildren :: AttrLabelProxy "children"
dOMDocumentFragmentChildren = AttrLabelProxy

dOMDocumentFragmentFirstElementChild :: AttrLabelProxy "firstElementChild"
dOMDocumentFragmentFirstElementChild = AttrLabelProxy

dOMDocumentFragmentLastElementChild :: AttrLabelProxy "lastElementChild"
dOMDocumentFragmentLastElementChild = AttrLabelProxy

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

-- method DOMDocumentFragment::get_child_element_count
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMDocumentFragment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMDocumentFragment", 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_document_fragment_get_child_element_count" webkit_dom_document_fragment_get_child_element_count :: 
    Ptr DOMDocumentFragment ->              -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMDocumentFragment"})
    IO CULong

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMDocumentFragmentGetChildElementCount ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> m CULong
    {- ^ __Returns:__ A @/gulong/@ -}
dOMDocumentFragmentGetChildElementCount self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_document_fragment_get_child_element_count self'
    touchManagedPtr self
    return result

data DOMDocumentFragmentGetChildElementCountMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentGetChildElementCountMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentGetChildElementCount

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

foreign import ccall "webkit_dom_document_fragment_get_children" webkit_dom_document_fragment_get_children :: 
    Ptr DOMDocumentFragment ->              -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMDocumentFragment"})
    IO (Ptr WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection)

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMDocumentFragmentGetChildren ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> m WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMHTMLCollection.DOMHTMLCollection' -}
dOMDocumentFragmentGetChildren self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_document_fragment_get_children self'
    checkUnexpectedReturnNULL "dOMDocumentFragmentGetChildren" result
    result' <- (wrapObject WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection) result
    touchManagedPtr self
    return result'

data DOMDocumentFragmentGetChildrenMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentGetChildrenMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentGetChildren

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

foreign import ccall "webkit_dom_document_fragment_get_element_by_id" webkit_dom_document_fragment_get_element_by_id :: 
    Ptr DOMDocumentFragment ->              -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMDocumentFragment"})
    CString ->                              -- elementId : TBasicType TUTF8
    IO (Ptr WebKit2WebExtension.DOMElement.DOMElement)

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMDocumentFragmentGetElementById ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> T.Text
    {- ^ /@elementId@/: A @/gchar/@ -}
    -> m WebKit2WebExtension.DOMElement.DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
dOMDocumentFragmentGetElementById self elementId = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    elementId' <- textToCString elementId
    result <- webkit_dom_document_fragment_get_element_by_id self' elementId'
    checkUnexpectedReturnNULL "dOMDocumentFragmentGetElementById" result
    result' <- (newObject WebKit2WebExtension.DOMElement.DOMElement) result
    touchManagedPtr self
    freeMem elementId'
    return result'

data DOMDocumentFragmentGetElementByIdMethodInfo
instance (signature ~ (T.Text -> m WebKit2WebExtension.DOMElement.DOMElement), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentGetElementByIdMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentGetElementById

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

foreign import ccall "webkit_dom_document_fragment_get_first_element_child" webkit_dom_document_fragment_get_first_element_child :: 
    Ptr DOMDocumentFragment ->              -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMDocumentFragment"})
    IO (Ptr WebKit2WebExtension.DOMElement.DOMElement)

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMDocumentFragmentGetFirstElementChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> m WebKit2WebExtension.DOMElement.DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
dOMDocumentFragmentGetFirstElementChild self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_document_fragment_get_first_element_child self'
    checkUnexpectedReturnNULL "dOMDocumentFragmentGetFirstElementChild" result
    result' <- (newObject WebKit2WebExtension.DOMElement.DOMElement) result
    touchManagedPtr self
    return result'

data DOMDocumentFragmentGetFirstElementChildMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMElement.DOMElement), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentGetFirstElementChildMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentGetFirstElementChild

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

foreign import ccall "webkit_dom_document_fragment_get_last_element_child" webkit_dom_document_fragment_get_last_element_child :: 
    Ptr DOMDocumentFragment ->              -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMDocumentFragment"})
    IO (Ptr WebKit2WebExtension.DOMElement.DOMElement)

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMDocumentFragmentGetLastElementChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> m WebKit2WebExtension.DOMElement.DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
dOMDocumentFragmentGetLastElementChild self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_document_fragment_get_last_element_child self'
    checkUnexpectedReturnNULL "dOMDocumentFragmentGetLastElementChild" result
    result' <- (newObject WebKit2WebExtension.DOMElement.DOMElement) result
    touchManagedPtr self
    return result'

data DOMDocumentFragmentGetLastElementChildMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMElement.DOMElement), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentGetLastElementChildMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentGetLastElementChild

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

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

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMDocumentFragmentQuerySelector ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> T.Text
    {- ^ /@selectors@/: A @/gchar/@ -}
    -> m WebKit2WebExtension.DOMElement.DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMDocumentFragmentQuerySelector self selectors = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    selectors' <- textToCString selectors
    onException (do
        result <- propagateGError $ webkit_dom_document_fragment_query_selector self' selectors'
        checkUnexpectedReturnNULL "dOMDocumentFragmentQuerySelector" result
        result' <- (newObject WebKit2WebExtension.DOMElement.DOMElement) result
        touchManagedPtr self
        freeMem selectors'
        return result'
     ) (do
        freeMem selectors'
     )

data DOMDocumentFragmentQuerySelectorMethodInfo
instance (signature ~ (T.Text -> m WebKit2WebExtension.DOMElement.DOMElement), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentQuerySelectorMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentQuerySelector

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

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

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMDocumentFragmentQuerySelectorAll ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> T.Text
    {- ^ /@selectors@/: A @/gchar/@ -}
    -> m WebKit2WebExtension.DOMNodeList.DOMNodeList
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMNodeList.DOMNodeList' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMDocumentFragmentQuerySelectorAll self selectors = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    selectors' <- textToCString selectors
    onException (do
        result <- propagateGError $ webkit_dom_document_fragment_query_selector_all self' selectors'
        checkUnexpectedReturnNULL "dOMDocumentFragmentQuerySelectorAll" result
        result' <- (wrapObject WebKit2WebExtension.DOMNodeList.DOMNodeList) result
        touchManagedPtr self
        freeMem selectors'
        return result'
     ) (do
        freeMem selectors'
     )

data DOMDocumentFragmentQuerySelectorAllMethodInfo
instance (signature ~ (T.Text -> m WebKit2WebExtension.DOMNodeList.DOMNodeList), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentQuerySelectorAllMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentQuerySelectorAll