{-# 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.DOMAttr
    ( 

-- * Exported types
    DOMAttr(..)                             ,
    IsDOMAttr                               ,
    toDOMAttr                               ,


 -- * 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"), [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"), [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"), [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"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [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.GObject.Objects.Object#g:method:getData"), [getFirstChild]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getFirstChild"), [getLastChild]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getLastChild"), [getLocalName]("GI.WebKit2WebExtension.Objects.DOMAttr#g:method:getLocalName"), [getName]("GI.WebKit2WebExtension.Objects.DOMAttr#g:method:getName"), [getNamespaceUri]("GI.WebKit2WebExtension.Objects.DOMAttr#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"), [getOwnerElement]("GI.WebKit2WebExtension.Objects.DOMAttr#g:method:getOwnerElement"), [getParentElement]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getParentElement"), [getParentNode]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getParentNode"), [getPrefix]("GI.WebKit2WebExtension.Objects.DOMAttr#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"), [getSpecified]("GI.WebKit2WebExtension.Objects.DOMAttr#g:method:getSpecified"), [getTextContent]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getTextContent"), [getValue]("GI.WebKit2WebExtension.Objects.DOMAttr#g:method:getValue").
-- 
-- ==== Setters
-- [setData]("GI.GObject.Objects.Object#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"), [setValue]("GI.WebKit2WebExtension.Objects.DOMAttr#g:method:setValue").

#if defined(ENABLE_OVERLOADING)
    ResolveDOMAttrMethod                    ,
#endif

-- ** getLocalName #method:getLocalName#

#if defined(ENABLE_OVERLOADING)
    DOMAttrGetLocalNameMethodInfo           ,
#endif
    dOMAttrGetLocalName                     ,


-- ** getName #method:getName#

#if defined(ENABLE_OVERLOADING)
    DOMAttrGetNameMethodInfo                ,
#endif
    dOMAttrGetName                          ,


-- ** getNamespaceUri #method:getNamespaceUri#

#if defined(ENABLE_OVERLOADING)
    DOMAttrGetNamespaceUriMethodInfo        ,
#endif
    dOMAttrGetNamespaceUri                  ,


-- ** getOwnerElement #method:getOwnerElement#

#if defined(ENABLE_OVERLOADING)
    DOMAttrGetOwnerElementMethodInfo        ,
#endif
    dOMAttrGetOwnerElement                  ,


-- ** getPrefix #method:getPrefix#

#if defined(ENABLE_OVERLOADING)
    DOMAttrGetPrefixMethodInfo              ,
#endif
    dOMAttrGetPrefix                        ,


-- ** getSpecified #method:getSpecified#

#if defined(ENABLE_OVERLOADING)
    DOMAttrGetSpecifiedMethodInfo           ,
#endif
    dOMAttrGetSpecified                     ,


-- ** getValue #method:getValue#

#if defined(ENABLE_OVERLOADING)
    DOMAttrGetValueMethodInfo               ,
#endif
    dOMAttrGetValue                         ,


-- ** setValue #method:setValue#

#if defined(ENABLE_OVERLOADING)
    DOMAttrSetValueMethodInfo               ,
#endif
    dOMAttrSetValue                         ,




 -- * Properties


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

#if defined(ENABLE_OVERLOADING)
    DOMAttrLocalNamePropertyInfo            ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMAttrLocalName                        ,
#endif
    getDOMAttrLocalName                     ,


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

#if defined(ENABLE_OVERLOADING)
    DOMAttrNamePropertyInfo                 ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMAttrName                             ,
#endif
    getDOMAttrName                          ,


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

#if defined(ENABLE_OVERLOADING)
    DOMAttrNamespaceUriPropertyInfo         ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMAttrNamespaceUri                     ,
#endif
    getDOMAttrNamespaceUri                  ,


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

#if defined(ENABLE_OVERLOADING)
    DOMAttrOwnerElementPropertyInfo         ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMAttrOwnerElement                     ,
#endif
    getDOMAttrOwnerElement                  ,


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

#if defined(ENABLE_OVERLOADING)
    DOMAttrPrefixPropertyInfo               ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMAttrPrefix                           ,
#endif
    getDOMAttrPrefix                        ,


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

#if defined(ENABLE_OVERLOADING)
    DOMAttrSpecifiedPropertyInfo            ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMAttrSpecified                        ,
#endif
    getDOMAttrSpecified                     ,


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

#if defined(ENABLE_OVERLOADING)
    DOMAttrValuePropertyInfo                ,
#endif
    clearDOMAttrValue                       ,
    constructDOMAttrValue                   ,
#if defined(ENABLE_OVERLOADING)
    dOMAttrValue                            ,
#endif
    getDOMAttrValue                         ,
    setDOMAttrValue                         ,




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

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

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

foreign import ccall "webkit_dom_attr_get_type"
    c_webkit_dom_attr_get_type :: IO B.Types.GType

instance B.Types.TypedObject DOMAttr where
    glibType :: IO GType
glibType = IO GType
c_webkit_dom_attr_get_type

instance B.Types.GObject DOMAttr

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

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

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

-- | Convert 'DOMAttr' 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 DOMAttr) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_webkit_dom_attr_get_type
    gvalueSet_ :: Ptr GValue -> Maybe DOMAttr -> IO ()
gvalueSet_ Ptr GValue
gv Maybe DOMAttr
P.Nothing = Ptr GValue -> Ptr DOMAttr -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr DOMAttr
forall a. Ptr a
FP.nullPtr :: FP.Ptr DOMAttr)
    gvalueSet_ Ptr GValue
gv (P.Just DOMAttr
obj) = DOMAttr -> (Ptr DOMAttr -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr DOMAttr
obj (Ptr GValue -> Ptr DOMAttr -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe DOMAttr)
gvalueGet_ Ptr GValue
gv = do
        Ptr DOMAttr
ptr <- Ptr GValue -> IO (Ptr DOMAttr)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr DOMAttr)
        if Ptr DOMAttr
ptr Ptr DOMAttr -> Ptr DOMAttr -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr DOMAttr
forall a. Ptr a
FP.nullPtr
        then DOMAttr -> Maybe DOMAttr
forall a. a -> Maybe a
P.Just (DOMAttr -> Maybe DOMAttr) -> IO DOMAttr -> IO (Maybe DOMAttr)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr DOMAttr -> DOMAttr) -> Ptr DOMAttr -> IO DOMAttr
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr DOMAttr -> DOMAttr
DOMAttr Ptr DOMAttr
ptr
        else Maybe DOMAttr -> IO (Maybe DOMAttr)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DOMAttr
forall a. Maybe a
P.Nothing
        
    

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

instance (info ~ ResolveDOMAttrMethod t DOMAttr, O.OverloadedMethod info DOMAttr p) => OL.IsLabel t (DOMAttr -> 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 ~ ResolveDOMAttrMethod t DOMAttr, O.OverloadedMethod info DOMAttr p, R.HasField t DOMAttr p) => R.HasField t DOMAttr p where
    getField = O.overloadedMethod @info

#endif

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

#endif

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

-- | Get the value of the “@local-name@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMAttr #localName
-- @
getDOMAttrLocalName :: (MonadIO m, IsDOMAttr o) => o -> m (Maybe T.Text)
getDOMAttrLocalName :: forall (m :: * -> *) o.
(MonadIO m, IsDOMAttr o) =>
o -> m (Maybe Text)
getDOMAttrLocalName 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
"local-name"

#if defined(ENABLE_OVERLOADING)
data DOMAttrLocalNamePropertyInfo
instance AttrInfo DOMAttrLocalNamePropertyInfo where
    type AttrAllowedOps DOMAttrLocalNamePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMAttrLocalNamePropertyInfo = IsDOMAttr
    type AttrSetTypeConstraint DOMAttrLocalNamePropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMAttrLocalNamePropertyInfo = (~) ()
    type AttrTransferType DOMAttrLocalNamePropertyInfo = ()
    type AttrGetType DOMAttrLocalNamePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMAttrLocalNamePropertyInfo = "local-name"
    type AttrOrigin DOMAttrLocalNamePropertyInfo = DOMAttr
    attrGet = getDOMAttrLocalName
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMAttr.localName"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.30/docs/GI-WebKit2WebExtension-Objects-DOMAttr.html#g:attr:localName"
        })
#endif

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

-- | Get the value of the “@name@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMAttr #name
-- @
getDOMAttrName :: (MonadIO m, IsDOMAttr o) => o -> m (Maybe T.Text)
getDOMAttrName :: forall (m :: * -> *) o.
(MonadIO m, IsDOMAttr o) =>
o -> m (Maybe Text)
getDOMAttrName 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
"name"

#if defined(ENABLE_OVERLOADING)
data DOMAttrNamePropertyInfo
instance AttrInfo DOMAttrNamePropertyInfo where
    type AttrAllowedOps DOMAttrNamePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMAttrNamePropertyInfo = IsDOMAttr
    type AttrSetTypeConstraint DOMAttrNamePropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMAttrNamePropertyInfo = (~) ()
    type AttrTransferType DOMAttrNamePropertyInfo = ()
    type AttrGetType DOMAttrNamePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMAttrNamePropertyInfo = "name"
    type AttrOrigin DOMAttrNamePropertyInfo = DOMAttr
    attrGet = getDOMAttrName
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMAttr.name"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.30/docs/GI-WebKit2WebExtension-Objects-DOMAttr.html#g:attr:name"
        })
#endif

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

-- | Get the value of the “@namespace-uri@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMAttr #namespaceUri
-- @
getDOMAttrNamespaceUri :: (MonadIO m, IsDOMAttr o) => o -> m (Maybe T.Text)
getDOMAttrNamespaceUri :: forall (m :: * -> *) o.
(MonadIO m, IsDOMAttr o) =>
o -> m (Maybe Text)
getDOMAttrNamespaceUri 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
"namespace-uri"

#if defined(ENABLE_OVERLOADING)
data DOMAttrNamespaceUriPropertyInfo
instance AttrInfo DOMAttrNamespaceUriPropertyInfo where
    type AttrAllowedOps DOMAttrNamespaceUriPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMAttrNamespaceUriPropertyInfo = IsDOMAttr
    type AttrSetTypeConstraint DOMAttrNamespaceUriPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMAttrNamespaceUriPropertyInfo = (~) ()
    type AttrTransferType DOMAttrNamespaceUriPropertyInfo = ()
    type AttrGetType DOMAttrNamespaceUriPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMAttrNamespaceUriPropertyInfo = "namespace-uri"
    type AttrOrigin DOMAttrNamespaceUriPropertyInfo = DOMAttr
    attrGet = getDOMAttrNamespaceUri
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMAttr.namespaceUri"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.30/docs/GI-WebKit2WebExtension-Objects-DOMAttr.html#g:attr:namespaceUri"
        })
#endif

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

-- | Get the value of the “@owner-element@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMAttr #ownerElement
-- @
getDOMAttrOwnerElement :: (MonadIO m, IsDOMAttr o) => o -> m WebKit2WebExtension.DOMElement.DOMElement
getDOMAttrOwnerElement :: forall (m :: * -> *) o.
(MonadIO m, IsDOMAttr o) =>
o -> m DOMElement
getDOMAttrOwnerElement o
obj = IO DOMElement -> m DOMElement
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO DOMElement -> m DOMElement) -> IO DOMElement -> m DOMElement
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe DOMElement) -> IO DOMElement
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getDOMAttrOwnerElement" (IO (Maybe DOMElement) -> IO DOMElement)
-> IO (Maybe DOMElement) -> IO DOMElement
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr DOMElement -> DOMElement)
-> IO (Maybe DOMElement)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"owner-element" ManagedPtr DOMElement -> DOMElement
WebKit2WebExtension.DOMElement.DOMElement

#if defined(ENABLE_OVERLOADING)
data DOMAttrOwnerElementPropertyInfo
instance AttrInfo DOMAttrOwnerElementPropertyInfo where
    type AttrAllowedOps DOMAttrOwnerElementPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMAttrOwnerElementPropertyInfo = IsDOMAttr
    type AttrSetTypeConstraint DOMAttrOwnerElementPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMAttrOwnerElementPropertyInfo = (~) ()
    type AttrTransferType DOMAttrOwnerElementPropertyInfo = ()
    type AttrGetType DOMAttrOwnerElementPropertyInfo = WebKit2WebExtension.DOMElement.DOMElement
    type AttrLabel DOMAttrOwnerElementPropertyInfo = "owner-element"
    type AttrOrigin DOMAttrOwnerElementPropertyInfo = DOMAttr
    attrGet = getDOMAttrOwnerElement
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMAttr.ownerElement"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.30/docs/GI-WebKit2WebExtension-Objects-DOMAttr.html#g:attr:ownerElement"
        })
#endif

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

-- | Get the value of the “@prefix@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMAttr #prefix
-- @
getDOMAttrPrefix :: (MonadIO m, IsDOMAttr o) => o -> m (Maybe T.Text)
getDOMAttrPrefix :: forall (m :: * -> *) o.
(MonadIO m, IsDOMAttr o) =>
o -> m (Maybe Text)
getDOMAttrPrefix 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
"prefix"

#if defined(ENABLE_OVERLOADING)
data DOMAttrPrefixPropertyInfo
instance AttrInfo DOMAttrPrefixPropertyInfo where
    type AttrAllowedOps DOMAttrPrefixPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMAttrPrefixPropertyInfo = IsDOMAttr
    type AttrSetTypeConstraint DOMAttrPrefixPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMAttrPrefixPropertyInfo = (~) ()
    type AttrTransferType DOMAttrPrefixPropertyInfo = ()
    type AttrGetType DOMAttrPrefixPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMAttrPrefixPropertyInfo = "prefix"
    type AttrOrigin DOMAttrPrefixPropertyInfo = DOMAttr
    attrGet = getDOMAttrPrefix
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMAttr.prefix"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.30/docs/GI-WebKit2WebExtension-Objects-DOMAttr.html#g:attr:prefix"
        })
#endif

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

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

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

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

-- | Get the value of the “@value@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMAttr #value
-- @
getDOMAttrValue :: (MonadIO m, IsDOMAttr o) => o -> m (Maybe T.Text)
getDOMAttrValue :: forall (m :: * -> *) o.
(MonadIO m, IsDOMAttr o) =>
o -> m (Maybe Text)
getDOMAttrValue 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
"value"

-- | Set the value of the “@value@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' dOMAttr [ #value 'Data.GI.Base.Attributes.:=' value ]
-- @
setDOMAttrValue :: (MonadIO m, IsDOMAttr o) => o -> T.Text -> m ()
setDOMAttrValue :: forall (m :: * -> *) o.
(MonadIO m, IsDOMAttr o) =>
o -> Text -> m ()
setDOMAttrValue 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
"value" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a `GValueConstruct` with valid value for the “@value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructDOMAttrValue :: (IsDOMAttr o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructDOMAttrValue :: forall o (m :: * -> *).
(IsDOMAttr o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructDOMAttrValue 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
"value" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@value@” 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' #value
-- @
clearDOMAttrValue :: (MonadIO m, IsDOMAttr o) => o -> m ()
clearDOMAttrValue :: forall (m :: * -> *) o. (MonadIO m, IsDOMAttr o) => o -> m ()
clearDOMAttrValue 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
"value" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

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

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DOMAttr
type instance O.AttributeList DOMAttr = DOMAttrAttributeList
type DOMAttrAttributeList = ('[ '("baseUri", WebKit2WebExtension.DOMNode.DOMNodeBaseUriPropertyInfo), '("childNodes", WebKit2WebExtension.DOMNode.DOMNodeChildNodesPropertyInfo), '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("firstChild", WebKit2WebExtension.DOMNode.DOMNodeFirstChildPropertyInfo), '("lastChild", WebKit2WebExtension.DOMNode.DOMNodeLastChildPropertyInfo), '("localName", DOMAttrLocalNamePropertyInfo), '("name", DOMAttrNamePropertyInfo), '("namespaceUri", DOMAttrNamespaceUriPropertyInfo), '("nextSibling", WebKit2WebExtension.DOMNode.DOMNodeNextSiblingPropertyInfo), '("nodeName", WebKit2WebExtension.DOMNode.DOMNodeNodeNamePropertyInfo), '("nodeType", WebKit2WebExtension.DOMNode.DOMNodeNodeTypePropertyInfo), '("nodeValue", WebKit2WebExtension.DOMNode.DOMNodeNodeValuePropertyInfo), '("ownerDocument", WebKit2WebExtension.DOMNode.DOMNodeOwnerDocumentPropertyInfo), '("ownerElement", DOMAttrOwnerElementPropertyInfo), '("parentElement", WebKit2WebExtension.DOMNode.DOMNodeParentElementPropertyInfo), '("parentNode", WebKit2WebExtension.DOMNode.DOMNodeParentNodePropertyInfo), '("prefix", DOMAttrPrefixPropertyInfo), '("previousSibling", WebKit2WebExtension.DOMNode.DOMNodePreviousSiblingPropertyInfo), '("specified", DOMAttrSpecifiedPropertyInfo), '("textContent", WebKit2WebExtension.DOMNode.DOMNodeTextContentPropertyInfo), '("value", DOMAttrValuePropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
dOMAttrLocalName :: AttrLabelProxy "localName"
dOMAttrLocalName = AttrLabelProxy

dOMAttrName :: AttrLabelProxy "name"
dOMAttrName = AttrLabelProxy

dOMAttrNamespaceUri :: AttrLabelProxy "namespaceUri"
dOMAttrNamespaceUri = AttrLabelProxy

dOMAttrOwnerElement :: AttrLabelProxy "ownerElement"
dOMAttrOwnerElement = AttrLabelProxy

dOMAttrPrefix :: AttrLabelProxy "prefix"
dOMAttrPrefix = AttrLabelProxy

dOMAttrSpecified :: AttrLabelProxy "specified"
dOMAttrSpecified = AttrLabelProxy

dOMAttrValue :: AttrLabelProxy "value"
dOMAttrValue = AttrLabelProxy

#endif

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

#endif

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

{-# DEPRECATED dOMAttrGetLocalName ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
-- 
-- /Since: 2.14/
dOMAttrGetLocalName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMAttr a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMAttrGetLocalName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMAttr a) =>
a -> m Text
dOMAttrGetLocalName 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 DOMAttr
self' <- a -> IO (Ptr DOMAttr)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMAttr -> IO CString
webkit_dom_attr_get_local_name Ptr DOMAttr
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMAttrGetLocalName" 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 DOMAttrGetLocalNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMAttr a) => O.OverloadedMethod DOMAttrGetLocalNameMethodInfo a signature where
    overloadedMethod = dOMAttrGetLocalName

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


#endif

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

{-# DEPRECATED dOMAttrGetName ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMAttrGetName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMAttr a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMAttrGetName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMAttr a) =>
a -> m Text
dOMAttrGetName 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 DOMAttr
self' <- a -> IO (Ptr DOMAttr)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMAttr -> IO CString
webkit_dom_attr_get_name Ptr DOMAttr
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMAttrGetName" 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 DOMAttrGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMAttr a) => O.OverloadedMethod DOMAttrGetNameMethodInfo a signature where
    overloadedMethod = dOMAttrGetName

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


#endif

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

{-# DEPRECATED dOMAttrGetNamespaceUri ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
-- 
-- /Since: 2.14/
dOMAttrGetNamespaceUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMAttr a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMAttrGetNamespaceUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMAttr a) =>
a -> m Text
dOMAttrGetNamespaceUri 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 DOMAttr
self' <- a -> IO (Ptr DOMAttr)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMAttr -> IO CString
webkit_dom_attr_get_namespace_uri Ptr DOMAttr
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMAttrGetNamespaceUri" 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 DOMAttrGetNamespaceUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMAttr a) => O.OverloadedMethod DOMAttrGetNamespaceUriMethodInfo a signature where
    overloadedMethod = dOMAttrGetNamespaceUri

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


#endif

-- method DOMAttr::get_owner_element
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMAttr" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMAttr" , 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_attr_get_owner_element" webkit_dom_attr_get_owner_element :: 
    Ptr DOMAttr ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"})
    IO (Ptr WebKit2WebExtension.DOMElement.DOMElement)

{-# DEPRECATED dOMAttrGetOwnerElement ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMAttrGetOwnerElement ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMAttr a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr'
    -> m WebKit2WebExtension.DOMElement.DOMElement
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement'
dOMAttrGetOwnerElement :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMAttr a) =>
a -> m DOMElement
dOMAttrGetOwnerElement a
self = IO DOMElement -> m DOMElement
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMElement -> m DOMElement) -> IO DOMElement -> m DOMElement
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMAttr
self' <- a -> IO (Ptr DOMAttr)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMElement
result <- Ptr DOMAttr -> IO (Ptr DOMElement)
webkit_dom_attr_get_owner_element Ptr DOMAttr
self'
    Text -> Ptr DOMElement -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMAttrGetOwnerElement" Ptr DOMElement
result
    DOMElement
result' <- ((ManagedPtr DOMElement -> DOMElement)
-> Ptr DOMElement -> IO DOMElement
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMElement -> DOMElement
WebKit2WebExtension.DOMElement.DOMElement) Ptr DOMElement
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    DOMElement -> IO DOMElement
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DOMElement
result'

#if defined(ENABLE_OVERLOADING)
data DOMAttrGetOwnerElementMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMElement.DOMElement), MonadIO m, IsDOMAttr a) => O.OverloadedMethod DOMAttrGetOwnerElementMethodInfo a signature where
    overloadedMethod = dOMAttrGetOwnerElement

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


#endif

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

{-# DEPRECATED dOMAttrGetPrefix ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
-- 
-- /Since: 2.14/
dOMAttrGetPrefix ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMAttr a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMAttrGetPrefix :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMAttr a) =>
a -> m Text
dOMAttrGetPrefix 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 DOMAttr
self' <- a -> IO (Ptr DOMAttr)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMAttr -> IO CString
webkit_dom_attr_get_prefix Ptr DOMAttr
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMAttrGetPrefix" 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 DOMAttrGetPrefixMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMAttr a) => O.OverloadedMethod DOMAttrGetPrefixMethodInfo a signature where
    overloadedMethod = dOMAttrGetPrefix

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


#endif

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

foreign import ccall "webkit_dom_attr_get_specified" webkit_dom_attr_get_specified :: 
    Ptr DOMAttr ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"})
    IO CInt

{-# DEPRECATED dOMAttrGetSpecified ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMAttrGetSpecified ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMAttr a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr'
    -> m Bool
    -- ^ __Returns:__ A t'P.Bool'
dOMAttrGetSpecified :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMAttr a) =>
a -> m Bool
dOMAttrGetSpecified a
self = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMAttr
self' <- a -> IO (Ptr DOMAttr)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr DOMAttr -> IO CInt
webkit_dom_attr_get_specified Ptr DOMAttr
self'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data DOMAttrGetSpecifiedMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMAttr a) => O.OverloadedMethod DOMAttrGetSpecifiedMethodInfo a signature where
    overloadedMethod = dOMAttrGetSpecified

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


#endif

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

{-# DEPRECATED dOMAttrGetValue ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMAttrGetValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMAttr a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMAttrGetValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMAttr a) =>
a -> m Text
dOMAttrGetValue 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 DOMAttr
self' <- a -> IO (Ptr DOMAttr)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMAttr -> IO CString
webkit_dom_attr_get_value Ptr DOMAttr
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMAttrGetValue" 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 DOMAttrGetValueMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMAttr a) => O.OverloadedMethod DOMAttrGetValueMethodInfo a signature where
    overloadedMethod = dOMAttrGetValue

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


#endif

-- method DOMAttr::set_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMAttr" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMAttr" , 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_attr_set_value" webkit_dom_attr_set_value :: 
    Ptr DOMAttr ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"})
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMAttrSetValue ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMAttrSetValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMAttr a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr'
    -> T.Text
    -- ^ /@value@/: A @/gchar/@
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
dOMAttrSetValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMAttr a) =>
a -> Text -> m ()
dOMAttrSetValue 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 DOMAttr
self' <- a -> IO (Ptr DOMAttr)
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 DOMAttr -> CString -> Ptr (Ptr GError) -> IO ()
webkit_dom_attr_set_value Ptr DOMAttr
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 DOMAttrSetValueMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMAttr a) => O.OverloadedMethod DOMAttrSetValueMethodInfo a signature where
    overloadedMethod = dOMAttrSetValue

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


#endif