{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- 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.DOMEvent
    ( 

-- * Exported types
    DOMEvent(..)                            ,
    IsDOMEvent                              ,
    toDOMEvent                              ,


 -- * Methods
-- ** Overloaded methods #method:Overloaded methods#

#if defined(ENABLE_OVERLOADING)
    ResolveDOMEventMethod                   ,
#endif


-- ** getBubbles #method:getBubbles#

#if defined(ENABLE_OVERLOADING)
    DOMEventGetBubblesMethodInfo            ,
#endif
    dOMEventGetBubbles                      ,


-- ** getCancelBubble #method:getCancelBubble#

#if defined(ENABLE_OVERLOADING)
    DOMEventGetCancelBubbleMethodInfo       ,
#endif
    dOMEventGetCancelBubble                 ,


-- ** getCancelable #method:getCancelable#

#if defined(ENABLE_OVERLOADING)
    DOMEventGetCancelableMethodInfo         ,
#endif
    dOMEventGetCancelable                   ,


-- ** getCurrentTarget #method:getCurrentTarget#

#if defined(ENABLE_OVERLOADING)
    DOMEventGetCurrentTargetMethodInfo      ,
#endif
    dOMEventGetCurrentTarget                ,


-- ** getEventPhase #method:getEventPhase#

#if defined(ENABLE_OVERLOADING)
    DOMEventGetEventPhaseMethodInfo         ,
#endif
    dOMEventGetEventPhase                   ,


-- ** getEventType #method:getEventType#

#if defined(ENABLE_OVERLOADING)
    DOMEventGetEventTypeMethodInfo          ,
#endif
    dOMEventGetEventType                    ,


-- ** getReturnValue #method:getReturnValue#

#if defined(ENABLE_OVERLOADING)
    DOMEventGetReturnValueMethodInfo        ,
#endif
    dOMEventGetReturnValue                  ,


-- ** getSrcElement #method:getSrcElement#

#if defined(ENABLE_OVERLOADING)
    DOMEventGetSrcElementMethodInfo         ,
#endif
    dOMEventGetSrcElement                   ,


-- ** getTarget #method:getTarget#

#if defined(ENABLE_OVERLOADING)
    DOMEventGetTargetMethodInfo             ,
#endif
    dOMEventGetTarget                       ,


-- ** getTimeStamp #method:getTimeStamp#

#if defined(ENABLE_OVERLOADING)
    DOMEventGetTimeStampMethodInfo          ,
#endif
    dOMEventGetTimeStamp                    ,


-- ** initEvent #method:initEvent#

#if defined(ENABLE_OVERLOADING)
    DOMEventInitEventMethodInfo             ,
#endif
    dOMEventInitEvent                       ,


-- ** preventDefault #method:preventDefault#

#if defined(ENABLE_OVERLOADING)
    DOMEventPreventDefaultMethodInfo        ,
#endif
    dOMEventPreventDefault                  ,


-- ** setCancelBubble #method:setCancelBubble#

#if defined(ENABLE_OVERLOADING)
    DOMEventSetCancelBubbleMethodInfo       ,
#endif
    dOMEventSetCancelBubble                 ,


-- ** setReturnValue #method:setReturnValue#

#if defined(ENABLE_OVERLOADING)
    DOMEventSetReturnValueMethodInfo        ,
#endif
    dOMEventSetReturnValue                  ,


-- ** stopPropagation #method:stopPropagation#

#if defined(ENABLE_OVERLOADING)
    DOMEventStopPropagationMethodInfo       ,
#endif
    dOMEventStopPropagation                 ,




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

#if defined(ENABLE_OVERLOADING)
    DOMEventBubblesPropertyInfo             ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMEventBubbles                         ,
#endif
    getDOMEventBubbles                      ,


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

#if defined(ENABLE_OVERLOADING)
    DOMEventCancelBubblePropertyInfo        ,
#endif
    constructDOMEventCancelBubble           ,
#if defined(ENABLE_OVERLOADING)
    dOMEventCancelBubble                    ,
#endif
    getDOMEventCancelBubble                 ,
    setDOMEventCancelBubble                 ,


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

#if defined(ENABLE_OVERLOADING)
    DOMEventCancelablePropertyInfo          ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMEventCancelable                      ,
#endif
    getDOMEventCancelable                   ,


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

#if defined(ENABLE_OVERLOADING)
    DOMEventCurrentTargetPropertyInfo       ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMEventCurrentTarget                   ,
#endif
    getDOMEventCurrentTarget                ,


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

#if defined(ENABLE_OVERLOADING)
    DOMEventEventPhasePropertyInfo          ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMEventEventPhase                      ,
#endif
    getDOMEventEventPhase                   ,


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

#if defined(ENABLE_OVERLOADING)
    DOMEventReturnValuePropertyInfo         ,
#endif
    constructDOMEventReturnValue            ,
#if defined(ENABLE_OVERLOADING)
    dOMEventReturnValue                     ,
#endif
    getDOMEventReturnValue                  ,
    setDOMEventReturnValue                  ,


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

#if defined(ENABLE_OVERLOADING)
    DOMEventSrcElementPropertyInfo          ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMEventSrcElement                      ,
#endif
    getDOMEventSrcElement                   ,


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

#if defined(ENABLE_OVERLOADING)
    DOMEventTargetPropertyInfo              ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMEventTarget                          ,
#endif
    getDOMEventTarget                       ,


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

#if defined(ENABLE_OVERLOADING)
    DOMEventTimeStampPropertyInfo           ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMEventTimeStamp                       ,
#endif
    getDOMEventTimeStamp                    ,


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

#if defined(ENABLE_OVERLOADING)
    DOMEventTypePropertyInfo                ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMEventType                            ,
#endif
    getDOMEventType                         ,




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

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

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

foreign import ccall "webkit_dom_event_get_type"
    c_webkit_dom_event_get_type :: IO B.Types.GType

instance B.Types.TypedObject DOMEvent where
    glibType :: IO GType
glibType = IO GType
c_webkit_dom_event_get_type

instance B.Types.GObject DOMEvent

-- | Convert 'DOMEvent' to and from 'Data.GI.Base.GValue.GValue' with 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue DOMEvent where
    toGValue :: DOMEvent -> IO GValue
toGValue DOMEvent
o = do
        GType
gtype <- IO GType
c_webkit_dom_event_get_type
        DOMEvent -> (Ptr DOMEvent -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr DOMEvent
o (GType
-> (GValue -> Ptr DOMEvent -> IO ()) -> Ptr DOMEvent -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr DOMEvent -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
        
    fromGValue :: GValue -> IO DOMEvent
fromGValue GValue
gv = do
        Ptr DOMEvent
ptr <- GValue -> IO (Ptr DOMEvent)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr DOMEvent)
        (ManagedPtr DOMEvent -> DOMEvent) -> Ptr DOMEvent -> IO DOMEvent
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr DOMEvent -> DOMEvent
DOMEvent Ptr DOMEvent
ptr
        
    

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

instance O.HasParentTypes DOMEvent
type instance O.ParentTypes DOMEvent = '[WebKit2WebExtension.DOMObject.DOMObject, GObject.Object.Object]

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

#if defined(ENABLE_OVERLOADING)
type family ResolveDOMEventMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMEventMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMEventMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMEventMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMEventMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMEventMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveDOMEventMethod "initEvent" o = DOMEventInitEventMethodInfo
    ResolveDOMEventMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMEventMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMEventMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMEventMethod "preventDefault" o = DOMEventPreventDefaultMethodInfo
    ResolveDOMEventMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMEventMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMEventMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMEventMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMEventMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMEventMethod "stopPropagation" o = DOMEventStopPropagationMethodInfo
    ResolveDOMEventMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMEventMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMEventMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMEventMethod "getBubbles" o = DOMEventGetBubblesMethodInfo
    ResolveDOMEventMethod "getCancelBubble" o = DOMEventGetCancelBubbleMethodInfo
    ResolveDOMEventMethod "getCancelable" o = DOMEventGetCancelableMethodInfo
    ResolveDOMEventMethod "getCurrentTarget" o = DOMEventGetCurrentTargetMethodInfo
    ResolveDOMEventMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMEventMethod "getEventPhase" o = DOMEventGetEventPhaseMethodInfo
    ResolveDOMEventMethod "getEventType" o = DOMEventGetEventTypeMethodInfo
    ResolveDOMEventMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMEventMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMEventMethod "getReturnValue" o = DOMEventGetReturnValueMethodInfo
    ResolveDOMEventMethod "getSrcElement" o = DOMEventGetSrcElementMethodInfo
    ResolveDOMEventMethod "getTarget" o = DOMEventGetTargetMethodInfo
    ResolveDOMEventMethod "getTimeStamp" o = DOMEventGetTimeStampMethodInfo
    ResolveDOMEventMethod "setCancelBubble" o = DOMEventSetCancelBubbleMethodInfo
    ResolveDOMEventMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMEventMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveDOMEventMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMEventMethod "setReturnValue" o = DOMEventSetReturnValueMethodInfo
    ResolveDOMEventMethod l o = O.MethodResolutionFailed l o

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

#endif

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

-- | Get the value of the “@bubbles@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMEvent #bubbles
-- @
getDOMEventBubbles :: (MonadIO m, IsDOMEvent o) => o -> m Bool
getDOMEventBubbles :: o -> m Bool
getDOMEventBubbles o
obj = IO Bool -> m Bool
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
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"bubbles"

#if defined(ENABLE_OVERLOADING)
data DOMEventBubblesPropertyInfo
instance AttrInfo DOMEventBubblesPropertyInfo where
    type AttrAllowedOps DOMEventBubblesPropertyInfo = '[ 'AttrGet]
    type AttrBaseTypeConstraint DOMEventBubblesPropertyInfo = IsDOMEvent
    type AttrSetTypeConstraint DOMEventBubblesPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMEventBubblesPropertyInfo = (~) ()
    type AttrTransferType DOMEventBubblesPropertyInfo = ()
    type AttrGetType DOMEventBubblesPropertyInfo = Bool
    type AttrLabel DOMEventBubblesPropertyInfo = "bubbles"
    type AttrOrigin DOMEventBubblesPropertyInfo = DOMEvent
    attrGet = getDOMEventBubbles
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

-- VVV Prop "cancel-bubble"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

-- | Get the value of the “@cancel-bubble@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMEvent #cancelBubble
-- @
getDOMEventCancelBubble :: (MonadIO m, IsDOMEvent o) => o -> m Bool
getDOMEventCancelBubble :: o -> m Bool
getDOMEventCancelBubble o
obj = IO Bool -> m Bool
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
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"cancel-bubble"

-- | Set the value of the “@cancel-bubble@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' dOMEvent [ #cancelBubble 'Data.GI.Base.Attributes.:=' value ]
-- @
setDOMEventCancelBubble :: (MonadIO m, IsDOMEvent o) => o -> Bool -> m ()
setDOMEventCancelBubble :: o -> Bool -> m ()
setDOMEventCancelBubble o
obj Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"cancel-bubble" Bool
val

-- | Construct a `GValueConstruct` with valid value for the “@cancel-bubble@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructDOMEventCancelBubble :: (IsDOMEvent o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructDOMEventCancelBubble :: Bool -> m (GValueConstruct o)
constructDOMEventCancelBubble Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
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
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"cancel-bubble" Bool
val

#if defined(ENABLE_OVERLOADING)
data DOMEventCancelBubblePropertyInfo
instance AttrInfo DOMEventCancelBubblePropertyInfo where
    type AttrAllowedOps DOMEventCancelBubblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint DOMEventCancelBubblePropertyInfo = IsDOMEvent
    type AttrSetTypeConstraint DOMEventCancelBubblePropertyInfo = (~) Bool
    type AttrTransferTypeConstraint DOMEventCancelBubblePropertyInfo = (~) Bool
    type AttrTransferType DOMEventCancelBubblePropertyInfo = Bool
    type AttrGetType DOMEventCancelBubblePropertyInfo = Bool
    type AttrLabel DOMEventCancelBubblePropertyInfo = "cancel-bubble"
    type AttrOrigin DOMEventCancelBubblePropertyInfo = DOMEvent
    attrGet = getDOMEventCancelBubble
    attrSet = setDOMEventCancelBubble
    attrTransfer _ v = do
        return v
    attrConstruct = constructDOMEventCancelBubble
    attrClear = undefined
#endif

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

-- | Get the value of the “@cancelable@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMEvent #cancelable
-- @
getDOMEventCancelable :: (MonadIO m, IsDOMEvent o) => o -> m Bool
getDOMEventCancelable :: o -> m Bool
getDOMEventCancelable o
obj = IO Bool -> m Bool
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
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"cancelable"

#if defined(ENABLE_OVERLOADING)
data DOMEventCancelablePropertyInfo
instance AttrInfo DOMEventCancelablePropertyInfo where
    type AttrAllowedOps DOMEventCancelablePropertyInfo = '[ 'AttrGet]
    type AttrBaseTypeConstraint DOMEventCancelablePropertyInfo = IsDOMEvent
    type AttrSetTypeConstraint DOMEventCancelablePropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMEventCancelablePropertyInfo = (~) ()
    type AttrTransferType DOMEventCancelablePropertyInfo = ()
    type AttrGetType DOMEventCancelablePropertyInfo = Bool
    type AttrLabel DOMEventCancelablePropertyInfo = "cancelable"
    type AttrOrigin DOMEventCancelablePropertyInfo = DOMEvent
    attrGet = getDOMEventCancelable
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

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

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

#if defined(ENABLE_OVERLOADING)
data DOMEventCurrentTargetPropertyInfo
instance AttrInfo DOMEventCurrentTargetPropertyInfo where
    type AttrAllowedOps DOMEventCurrentTargetPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMEventCurrentTargetPropertyInfo = IsDOMEvent
    type AttrSetTypeConstraint DOMEventCurrentTargetPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMEventCurrentTargetPropertyInfo = (~) ()
    type AttrTransferType DOMEventCurrentTargetPropertyInfo = ()
    type AttrGetType DOMEventCurrentTargetPropertyInfo = (Maybe WebKit2WebExtension.DOMEventTarget.DOMEventTarget)
    type AttrLabel DOMEventCurrentTargetPropertyInfo = "current-target"
    type AttrOrigin DOMEventCurrentTargetPropertyInfo = DOMEvent
    attrGet = getDOMEventCurrentTarget
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

-- VVV Prop "event-phase"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@event-phase@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMEvent #eventPhase
-- @
getDOMEventEventPhase :: (MonadIO m, IsDOMEvent o) => o -> m Word32
getDOMEventEventPhase :: o -> m Word32
getDOMEventEventPhase o
obj = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
B.Properties.getObjectPropertyUInt32 o
obj String
"event-phase"

#if defined(ENABLE_OVERLOADING)
data DOMEventEventPhasePropertyInfo
instance AttrInfo DOMEventEventPhasePropertyInfo where
    type AttrAllowedOps DOMEventEventPhasePropertyInfo = '[ 'AttrGet]
    type AttrBaseTypeConstraint DOMEventEventPhasePropertyInfo = IsDOMEvent
    type AttrSetTypeConstraint DOMEventEventPhasePropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMEventEventPhasePropertyInfo = (~) ()
    type AttrTransferType DOMEventEventPhasePropertyInfo = ()
    type AttrGetType DOMEventEventPhasePropertyInfo = Word32
    type AttrLabel DOMEventEventPhasePropertyInfo = "event-phase"
    type AttrOrigin DOMEventEventPhasePropertyInfo = DOMEvent
    attrGet = getDOMEventEventPhase
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

-- VVV Prop "return-value"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

-- | Get the value of the “@return-value@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMEvent #returnValue
-- @
getDOMEventReturnValue :: (MonadIO m, IsDOMEvent o) => o -> m Bool
getDOMEventReturnValue :: o -> m Bool
getDOMEventReturnValue o
obj = IO Bool -> m Bool
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
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"return-value"

-- | Set the value of the “@return-value@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' dOMEvent [ #returnValue 'Data.GI.Base.Attributes.:=' value ]
-- @
setDOMEventReturnValue :: (MonadIO m, IsDOMEvent o) => o -> Bool -> m ()
setDOMEventReturnValue :: o -> Bool -> m ()
setDOMEventReturnValue o
obj Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"return-value" Bool
val

-- | Construct a `GValueConstruct` with valid value for the “@return-value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructDOMEventReturnValue :: (IsDOMEvent o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructDOMEventReturnValue :: Bool -> m (GValueConstruct o)
constructDOMEventReturnValue Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
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
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"return-value" Bool
val

#if defined(ENABLE_OVERLOADING)
data DOMEventReturnValuePropertyInfo
instance AttrInfo DOMEventReturnValuePropertyInfo where
    type AttrAllowedOps DOMEventReturnValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint DOMEventReturnValuePropertyInfo = IsDOMEvent
    type AttrSetTypeConstraint DOMEventReturnValuePropertyInfo = (~) Bool
    type AttrTransferTypeConstraint DOMEventReturnValuePropertyInfo = (~) Bool
    type AttrTransferType DOMEventReturnValuePropertyInfo = Bool
    type AttrGetType DOMEventReturnValuePropertyInfo = Bool
    type AttrLabel DOMEventReturnValuePropertyInfo = "return-value"
    type AttrOrigin DOMEventReturnValuePropertyInfo = DOMEvent
    attrGet = getDOMEventReturnValue
    attrSet = setDOMEventReturnValue
    attrTransfer _ v = do
        return v
    attrConstruct = constructDOMEventReturnValue
    attrClear = undefined
#endif

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

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

#if defined(ENABLE_OVERLOADING)
data DOMEventSrcElementPropertyInfo
instance AttrInfo DOMEventSrcElementPropertyInfo where
    type AttrAllowedOps DOMEventSrcElementPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMEventSrcElementPropertyInfo = IsDOMEvent
    type AttrSetTypeConstraint DOMEventSrcElementPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMEventSrcElementPropertyInfo = (~) ()
    type AttrTransferType DOMEventSrcElementPropertyInfo = ()
    type AttrGetType DOMEventSrcElementPropertyInfo = (Maybe WebKit2WebExtension.DOMEventTarget.DOMEventTarget)
    type AttrLabel DOMEventSrcElementPropertyInfo = "src-element"
    type AttrOrigin DOMEventSrcElementPropertyInfo = DOMEvent
    attrGet = getDOMEventSrcElement
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

-- VVV Prop "target"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEventTarget"})
   -- 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' dOMEvent #target
-- @
getDOMEventTarget :: (MonadIO m, IsDOMEvent o) => o -> m (Maybe WebKit2WebExtension.DOMEventTarget.DOMEventTarget)
getDOMEventTarget :: o -> m (Maybe DOMEventTarget)
getDOMEventTarget o
obj = IO (Maybe DOMEventTarget) -> m (Maybe DOMEventTarget)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DOMEventTarget) -> m (Maybe DOMEventTarget))
-> IO (Maybe DOMEventTarget) -> m (Maybe DOMEventTarget)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr DOMEventTarget -> DOMEventTarget)
-> IO (Maybe DOMEventTarget)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"target" ManagedPtr DOMEventTarget -> DOMEventTarget
WebKit2WebExtension.DOMEventTarget.DOMEventTarget

#if defined(ENABLE_OVERLOADING)
data DOMEventTargetPropertyInfo
instance AttrInfo DOMEventTargetPropertyInfo where
    type AttrAllowedOps DOMEventTargetPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMEventTargetPropertyInfo = IsDOMEvent
    type AttrSetTypeConstraint DOMEventTargetPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMEventTargetPropertyInfo = (~) ()
    type AttrTransferType DOMEventTargetPropertyInfo = ()
    type AttrGetType DOMEventTargetPropertyInfo = (Maybe WebKit2WebExtension.DOMEventTarget.DOMEventTarget)
    type AttrLabel DOMEventTargetPropertyInfo = "target"
    type AttrOrigin DOMEventTargetPropertyInfo = DOMEvent
    attrGet = getDOMEventTarget
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

-- VVV Prop "time-stamp"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@time-stamp@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMEvent #timeStamp
-- @
getDOMEventTimeStamp :: (MonadIO m, IsDOMEvent o) => o -> m Word32
getDOMEventTimeStamp :: o -> m Word32
getDOMEventTimeStamp o
obj = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
B.Properties.getObjectPropertyUInt32 o
obj String
"time-stamp"

#if defined(ENABLE_OVERLOADING)
data DOMEventTimeStampPropertyInfo
instance AttrInfo DOMEventTimeStampPropertyInfo where
    type AttrAllowedOps DOMEventTimeStampPropertyInfo = '[ 'AttrGet]
    type AttrBaseTypeConstraint DOMEventTimeStampPropertyInfo = IsDOMEvent
    type AttrSetTypeConstraint DOMEventTimeStampPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMEventTimeStampPropertyInfo = (~) ()
    type AttrTransferType DOMEventTimeStampPropertyInfo = ()
    type AttrGetType DOMEventTimeStampPropertyInfo = Word32
    type AttrLabel DOMEventTimeStampPropertyInfo = "time-stamp"
    type AttrOrigin DOMEventTimeStampPropertyInfo = DOMEvent
    attrGet = getDOMEventTimeStamp
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

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

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

#if defined(ENABLE_OVERLOADING)
data DOMEventTypePropertyInfo
instance AttrInfo DOMEventTypePropertyInfo where
    type AttrAllowedOps DOMEventTypePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMEventTypePropertyInfo = IsDOMEvent
    type AttrSetTypeConstraint DOMEventTypePropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMEventTypePropertyInfo = (~) ()
    type AttrTransferType DOMEventTypePropertyInfo = ()
    type AttrGetType DOMEventTypePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMEventTypePropertyInfo = "type"
    type AttrOrigin DOMEventTypePropertyInfo = DOMEvent
    attrGet = getDOMEventType
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DOMEvent
type instance O.AttributeList DOMEvent = DOMEventAttributeList
type DOMEventAttributeList = ('[ '("bubbles", DOMEventBubblesPropertyInfo), '("cancelBubble", DOMEventCancelBubblePropertyInfo), '("cancelable", DOMEventCancelablePropertyInfo), '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("currentTarget", DOMEventCurrentTargetPropertyInfo), '("eventPhase", DOMEventEventPhasePropertyInfo), '("returnValue", DOMEventReturnValuePropertyInfo), '("srcElement", DOMEventSrcElementPropertyInfo), '("target", DOMEventTargetPropertyInfo), '("timeStamp", DOMEventTimeStampPropertyInfo), '("type", DOMEventTypePropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING)
dOMEventBubbles :: AttrLabelProxy "bubbles"
dOMEventBubbles = AttrLabelProxy

dOMEventCancelBubble :: AttrLabelProxy "cancelBubble"
dOMEventCancelBubble = AttrLabelProxy

dOMEventCancelable :: AttrLabelProxy "cancelable"
dOMEventCancelable = AttrLabelProxy

dOMEventCurrentTarget :: AttrLabelProxy "currentTarget"
dOMEventCurrentTarget = AttrLabelProxy

dOMEventEventPhase :: AttrLabelProxy "eventPhase"
dOMEventEventPhase = AttrLabelProxy

dOMEventReturnValue :: AttrLabelProxy "returnValue"
dOMEventReturnValue = AttrLabelProxy

dOMEventSrcElement :: AttrLabelProxy "srcElement"
dOMEventSrcElement = AttrLabelProxy

dOMEventTarget :: AttrLabelProxy "target"
dOMEventTarget = AttrLabelProxy

dOMEventTimeStamp :: AttrLabelProxy "timeStamp"
dOMEventTimeStamp = AttrLabelProxy

dOMEventType :: AttrLabelProxy "type"
dOMEventType = AttrLabelProxy

#endif

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

#endif

-- method DOMEvent::get_bubbles
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMEvent" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMEvent" , 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_event_get_bubbles" webkit_dom_event_get_bubbles :: 
    Ptr DOMEvent ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEvent"})
    IO CInt

{-# DEPRECATED dOMEventGetBubbles ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMEventGetBubbles ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMEvent a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMEvent.DOMEvent'
    -> m Bool
    -- ^ __Returns:__ A t'P.Bool'
dOMEventGetBubbles :: a -> m Bool
dOMEventGetBubbles a
self = IO Bool -> m Bool
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 DOMEvent
self' <- a -> IO (Ptr DOMEvent)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr DOMEvent -> IO CInt
webkit_dom_event_get_bubbles Ptr DOMEvent
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 (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data DOMEventGetBubblesMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventGetBubblesMethodInfo a signature where
    overloadedMethod = dOMEventGetBubbles

#endif

-- method DOMEvent::get_cancel_bubble
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMEvent" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMEvent" , 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_event_get_cancel_bubble" webkit_dom_event_get_cancel_bubble :: 
    Ptr DOMEvent ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEvent"})
    IO CInt

{-# DEPRECATED dOMEventGetCancelBubble ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMEventGetCancelBubble ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMEvent a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMEvent.DOMEvent'
    -> m Bool
    -- ^ __Returns:__ A t'P.Bool'
dOMEventGetCancelBubble :: a -> m Bool
dOMEventGetCancelBubble a
self = IO Bool -> m Bool
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 DOMEvent
self' <- a -> IO (Ptr DOMEvent)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr DOMEvent -> IO CInt
webkit_dom_event_get_cancel_bubble Ptr DOMEvent
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 (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data DOMEventGetCancelBubbleMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventGetCancelBubbleMethodInfo a signature where
    overloadedMethod = dOMEventGetCancelBubble

#endif

-- method DOMEvent::get_cancelable
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMEvent" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMEvent" , 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_event_get_cancelable" webkit_dom_event_get_cancelable :: 
    Ptr DOMEvent ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEvent"})
    IO CInt

{-# DEPRECATED dOMEventGetCancelable ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMEventGetCancelable ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMEvent a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMEvent.DOMEvent'
    -> m Bool
    -- ^ __Returns:__ A t'P.Bool'
dOMEventGetCancelable :: a -> m Bool
dOMEventGetCancelable a
self = IO Bool -> m Bool
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 DOMEvent
self' <- a -> IO (Ptr DOMEvent)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr DOMEvent -> IO CInt
webkit_dom_event_get_cancelable Ptr DOMEvent
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 (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data DOMEventGetCancelableMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventGetCancelableMethodInfo a signature where
    overloadedMethod = dOMEventGetCancelable

#endif

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

foreign import ccall "webkit_dom_event_get_current_target" webkit_dom_event_get_current_target :: 
    Ptr DOMEvent ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEvent"})
    IO (Ptr WebKit2WebExtension.DOMEventTarget.DOMEventTarget)

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

#if defined(ENABLE_OVERLOADING)
data DOMEventGetCurrentTargetMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMEventTarget.DOMEventTarget), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventGetCurrentTargetMethodInfo a signature where
    overloadedMethod = dOMEventGetCurrentTarget

#endif

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

foreign import ccall "webkit_dom_event_get_event_phase" webkit_dom_event_get_event_phase :: 
    Ptr DOMEvent ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEvent"})
    IO Word16

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

#if defined(ENABLE_OVERLOADING)
data DOMEventGetEventPhaseMethodInfo
instance (signature ~ (m Word16), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventGetEventPhaseMethodInfo a signature where
    overloadedMethod = dOMEventGetEventPhase

#endif

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

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

#endif

-- method DOMEvent::get_return_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMEvent" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMEvent" , 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_event_get_return_value" webkit_dom_event_get_return_value :: 
    Ptr DOMEvent ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEvent"})
    IO CInt

{-# DEPRECATED dOMEventGetReturnValue ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMEventGetReturnValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMEvent a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMEvent.DOMEvent'
    -> m Bool
    -- ^ __Returns:__ A t'P.Bool'
dOMEventGetReturnValue :: a -> m Bool
dOMEventGetReturnValue a
self = IO Bool -> m Bool
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 DOMEvent
self' <- a -> IO (Ptr DOMEvent)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr DOMEvent -> IO CInt
webkit_dom_event_get_return_value Ptr DOMEvent
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 (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data DOMEventGetReturnValueMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventGetReturnValueMethodInfo a signature where
    overloadedMethod = dOMEventGetReturnValue

#endif

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

foreign import ccall "webkit_dom_event_get_src_element" webkit_dom_event_get_src_element :: 
    Ptr DOMEvent ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEvent"})
    IO (Ptr WebKit2WebExtension.DOMEventTarget.DOMEventTarget)

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

#if defined(ENABLE_OVERLOADING)
data DOMEventGetSrcElementMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMEventTarget.DOMEventTarget), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventGetSrcElementMethodInfo a signature where
    overloadedMethod = dOMEventGetSrcElement

#endif

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

foreign import ccall "webkit_dom_event_get_target" webkit_dom_event_get_target :: 
    Ptr DOMEvent ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEvent"})
    IO (Ptr WebKit2WebExtension.DOMEventTarget.DOMEventTarget)

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

#if defined(ENABLE_OVERLOADING)
data DOMEventGetTargetMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMEventTarget.DOMEventTarget), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventGetTargetMethodInfo a signature where
    overloadedMethod = dOMEventGetTarget

#endif

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

foreign import ccall "webkit_dom_event_get_time_stamp" webkit_dom_event_get_time_stamp :: 
    Ptr DOMEvent ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEvent"})
    IO Word32

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

#if defined(ENABLE_OVERLOADING)
data DOMEventGetTimeStampMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventGetTimeStampMethodInfo a signature where
    overloadedMethod = dOMEventGetTimeStamp

#endif

-- method DOMEvent::init_event
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMEvent" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMEvent" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "eventTypeArg"
--           , 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
--           }
--       , Arg
--           { argCName = "canBubbleArg"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gboolean" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "cancelableArg"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gboolean" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_event_init_event" webkit_dom_event_init_event :: 
    Ptr DOMEvent ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEvent"})
    CString ->                              -- eventTypeArg : TBasicType TUTF8
    CInt ->                                 -- canBubbleArg : TBasicType TBoolean
    CInt ->                                 -- cancelableArg : TBasicType TBoolean
    IO ()

{-# DEPRECATED dOMEventInitEvent ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMEventInitEvent ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMEvent a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMEvent.DOMEvent'
    -> T.Text
    -- ^ /@eventTypeArg@/: A @/gchar/@
    -> Bool
    -- ^ /@canBubbleArg@/: A t'P.Bool'
    -> Bool
    -- ^ /@cancelableArg@/: A t'P.Bool'
    -> m ()
dOMEventInitEvent :: a -> Text -> Bool -> Bool -> m ()
dOMEventInitEvent a
self Text
eventTypeArg Bool
canBubbleArg Bool
cancelableArg = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMEvent
self' <- a -> IO (Ptr DOMEvent)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
eventTypeArg' <- Text -> IO CString
textToCString Text
eventTypeArg
    let canBubbleArg' :: CInt
canBubbleArg' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
canBubbleArg
    let cancelableArg' :: CInt
cancelableArg' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
cancelableArg
    Ptr DOMEvent -> CString -> CInt -> CInt -> IO ()
webkit_dom_event_init_event Ptr DOMEvent
self' CString
eventTypeArg' CInt
canBubbleArg' CInt
cancelableArg'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
eventTypeArg'
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data DOMEventInitEventMethodInfo
instance (signature ~ (T.Text -> Bool -> Bool -> m ()), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventInitEventMethodInfo a signature where
    overloadedMethod = dOMEventInitEvent

#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data DOMEventPreventDefaultMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventPreventDefaultMethodInfo a signature where
    overloadedMethod = dOMEventPreventDefault

#endif

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

foreign import ccall "webkit_dom_event_set_cancel_bubble" webkit_dom_event_set_cancel_bubble :: 
    Ptr DOMEvent ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEvent"})
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()

{-# DEPRECATED dOMEventSetCancelBubble ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMEventSetCancelBubble ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMEvent a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMEvent.DOMEvent'
    -> Bool
    -- ^ /@value@/: A t'P.Bool'
    -> m ()
dOMEventSetCancelBubble :: a -> Bool -> m ()
dOMEventSetCancelBubble a
self Bool
value = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMEvent
self' <- a -> IO (Ptr DOMEvent)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let value' :: CInt
value' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
value
    Ptr DOMEvent -> CInt -> IO ()
webkit_dom_event_set_cancel_bubble Ptr DOMEvent
self' CInt
value'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data DOMEventSetCancelBubbleMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventSetCancelBubbleMethodInfo a signature where
    overloadedMethod = dOMEventSetCancelBubble

#endif

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

foreign import ccall "webkit_dom_event_set_return_value" webkit_dom_event_set_return_value :: 
    Ptr DOMEvent ->                         -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMEvent"})
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()

{-# DEPRECATED dOMEventSetReturnValue ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMEventSetReturnValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMEvent a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMEvent.DOMEvent'
    -> Bool
    -- ^ /@value@/: A t'P.Bool'
    -> m ()
dOMEventSetReturnValue :: a -> Bool -> m ()
dOMEventSetReturnValue a
self Bool
value = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMEvent
self' <- a -> IO (Ptr DOMEvent)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let value' :: CInt
value' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
value
    Ptr DOMEvent -> CInt -> IO ()
webkit_dom_event_set_return_value Ptr DOMEvent
self' CInt
value'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data DOMEventSetReturnValueMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventSetReturnValueMethodInfo a signature where
    overloadedMethod = dOMEventSetReturnValue

#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data DOMEventStopPropagationMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMEvent a) => O.MethodInfo DOMEventStopPropagationMethodInfo a signature where
    overloadedMethod = dOMEventStopPropagation

#endif