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

-- * Exported types
    DOMProcessingInstruction(..)            ,
    IsDOMProcessingInstruction              ,
    toDOMProcessingInstruction              ,


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

#if defined(ENABLE_OVERLOADING)
    ResolveDOMProcessingInstructionMethod   ,
#endif

-- ** getSheet #method:getSheet#

#if defined(ENABLE_OVERLOADING)
    DOMProcessingInstructionGetSheetMethodInfo,
#endif
    dOMProcessingInstructionGetSheet        ,


-- ** getTarget #method:getTarget#

#if defined(ENABLE_OVERLOADING)
    DOMProcessingInstructionGetTargetMethodInfo,
#endif
    dOMProcessingInstructionGetTarget       ,




 -- * Properties


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

#if defined(ENABLE_OVERLOADING)
    DOMProcessingInstructionSheetPropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMProcessingInstructionSheet           ,
#endif
    getDOMProcessingInstructionSheet        ,


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

#if defined(ENABLE_OVERLOADING)
    DOMProcessingInstructionTargetPropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMProcessingInstructionTarget          ,
#endif
    getDOMProcessingInstructionTarget       ,




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

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

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

foreign import ccall "webkit_dom_processing_instruction_get_type"
    c_webkit_dom_processing_instruction_get_type :: IO B.Types.GType

instance B.Types.TypedObject DOMProcessingInstruction where
    glibType :: IO GType
glibType = IO GType
c_webkit_dom_processing_instruction_get_type

instance B.Types.GObject DOMProcessingInstruction

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

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

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

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

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

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

#endif

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

#endif

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

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

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

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

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

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

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

#if defined(ENABLE_OVERLOADING)
dOMProcessingInstructionSheet :: AttrLabelProxy "sheet"
dOMProcessingInstructionSheet = AttrLabelProxy

dOMProcessingInstructionTarget :: AttrLabelProxy "target"
dOMProcessingInstructionTarget = AttrLabelProxy

#endif

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

#endif

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

foreign import ccall "webkit_dom_processing_instruction_get_sheet" webkit_dom_processing_instruction_get_sheet :: 
    Ptr DOMProcessingInstruction ->         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMProcessingInstruction"})
    IO (Ptr WebKit2WebExtension.DOMStyleSheet.DOMStyleSheet)

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

#if defined(ENABLE_OVERLOADING)
data DOMProcessingInstructionGetSheetMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMStyleSheet.DOMStyleSheet), MonadIO m, IsDOMProcessingInstruction a) => O.OverloadedMethod DOMProcessingInstructionGetSheetMethodInfo a signature where
    overloadedMethod = dOMProcessingInstructionGetSheet

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


#endif

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

{-# DEPRECATED dOMProcessingInstructionGetTarget ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMProcessingInstructionGetTarget ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMProcessingInstruction a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMProcessingInstruction.DOMProcessingInstruction'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMProcessingInstructionGetTarget :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMProcessingInstruction a) =>
a -> m Text
dOMProcessingInstructionGetTarget a
self = IO Text -> m Text
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 DOMProcessingInstruction
self' <- a -> IO (Ptr DOMProcessingInstruction)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMProcessingInstruction -> IO CString
webkit_dom_processing_instruction_get_target Ptr DOMProcessingInstruction
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMProcessingInstructionGetTarget" 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 (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data DOMProcessingInstructionGetTargetMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMProcessingInstruction a) => O.OverloadedMethod DOMProcessingInstructionGetTargetMethodInfo a signature where
    overloadedMethod = dOMProcessingInstructionGetTarget

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


#endif