#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.WebKit2WebExtension.Interfaces.DOMEventTarget
(
DOMEventTarget(..) ,
noDOMEventTarget ,
IsDOMEventTarget ,
toDOMEventTarget ,
#if ENABLE_OVERLOADING
DOMEventTargetAddEventListenerMethodInfo,
#endif
dOMEventTargetAddEventListener ,
#if ENABLE_OVERLOADING
DOMEventTargetDispatchEventMethodInfo ,
#endif
dOMEventTargetDispatchEvent ,
#if ENABLE_OVERLOADING
DOMEventTargetRemoveEventListenerMethodInfo,
#endif
dOMEventTargetRemoveEventListener ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.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.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.Objects.DOMEvent as WebKit2WebExtension.DOMEvent
newtype DOMEventTarget = DOMEventTarget (ManagedPtr DOMEventTarget)
noDOMEventTarget :: Maybe DOMEventTarget
noDOMEventTarget = Nothing
#if ENABLE_OVERLOADING
type instance O.SignalList DOMEventTarget = DOMEventTargetSignalList
type DOMEventTargetSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "webkit_dom_event_target_get_type"
c_webkit_dom_event_target_get_type :: IO GType
instance GObject DOMEventTarget where
gobjectType = c_webkit_dom_event_target_get_type
class (GObject o, O.IsDescendantOf DOMEventTarget o) => IsDOMEventTarget o
instance (GObject o, O.IsDescendantOf DOMEventTarget o) => IsDOMEventTarget o
instance O.HasParentTypes DOMEventTarget
type instance O.ParentTypes DOMEventTarget = '[GObject.Object.Object]
toDOMEventTarget :: (MonadIO m, IsDOMEventTarget o) => o -> m DOMEventTarget
toDOMEventTarget = liftIO . unsafeCastTo DOMEventTarget
#if ENABLE_OVERLOADING
instance O.HasAttributeList DOMEventTarget
type instance O.AttributeList DOMEventTarget = DOMEventTargetAttributeList
type DOMEventTargetAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type family ResolveDOMEventTargetMethod (t :: Symbol) (o :: *) :: * where
ResolveDOMEventTargetMethod "addEventListener" o = DOMEventTargetAddEventListenerMethodInfo
ResolveDOMEventTargetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveDOMEventTargetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveDOMEventTargetMethod "dispatchEvent" o = DOMEventTargetDispatchEventMethodInfo
ResolveDOMEventTargetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveDOMEventTargetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveDOMEventTargetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveDOMEventTargetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveDOMEventTargetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveDOMEventTargetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveDOMEventTargetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveDOMEventTargetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveDOMEventTargetMethod "removeEventListener" o = DOMEventTargetRemoveEventListenerMethodInfo
ResolveDOMEventTargetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveDOMEventTargetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveDOMEventTargetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveDOMEventTargetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveDOMEventTargetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveDOMEventTargetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveDOMEventTargetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveDOMEventTargetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveDOMEventTargetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveDOMEventTargetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveDOMEventTargetMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveDOMEventTargetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveDOMEventTargetMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDOMEventTargetMethod t DOMEventTarget, O.MethodInfo info DOMEventTarget p) => OL.IsLabel t (DOMEventTarget -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
foreign import ccall "webkit_dom_event_target_add_event_listener_with_closure" webkit_dom_event_target_add_event_listener_with_closure ::
Ptr DOMEventTarget ->
CString ->
Ptr (GClosure ()) ->
CInt ->
IO CInt
{-# DEPRECATED dOMEventTargetAddEventListener ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
dOMEventTargetAddEventListener ::
(B.CallStack.HasCallStack, MonadIO m, IsDOMEventTarget a) =>
a
-> T.Text
-> GClosure b
-> Bool
-> m Bool
dOMEventTargetAddEventListener target eventName handler useCapture = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
eventName' <- textToCString eventName
handler' <- unsafeManagedPtrCastPtr handler
let useCapture' = (fromIntegral . fromEnum) useCapture
result <- webkit_dom_event_target_add_event_listener_with_closure target' eventName' handler' useCapture'
let result' = (/= 0) result
touchManagedPtr target
touchManagedPtr handler
freeMem eventName'
return result'
#if ENABLE_OVERLOADING
data DOMEventTargetAddEventListenerMethodInfo
instance (signature ~ (T.Text -> GClosure b -> Bool -> m Bool), MonadIO m, IsDOMEventTarget a) => O.MethodInfo DOMEventTargetAddEventListenerMethodInfo a signature where
overloadedMethod _ = dOMEventTargetAddEventListener
#endif
foreign import ccall "webkit_dom_event_target_dispatch_event" webkit_dom_event_target_dispatch_event ::
Ptr DOMEventTarget ->
Ptr WebKit2WebExtension.DOMEvent.DOMEvent ->
Ptr (Ptr GError) ->
IO CInt
{-# DEPRECATED dOMEventTargetDispatchEvent ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
dOMEventTargetDispatchEvent ::
(B.CallStack.HasCallStack, MonadIO m, IsDOMEventTarget a, WebKit2WebExtension.DOMEvent.IsDOMEvent b) =>
a
-> b
-> m ()
dOMEventTargetDispatchEvent target event = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
event' <- unsafeManagedPtrCastPtr event
onException (do
_ <- propagateGError $ webkit_dom_event_target_dispatch_event target' event'
touchManagedPtr target
touchManagedPtr event
return ()
) (do
return ()
)
#if ENABLE_OVERLOADING
data DOMEventTargetDispatchEventMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDOMEventTarget a, WebKit2WebExtension.DOMEvent.IsDOMEvent b) => O.MethodInfo DOMEventTargetDispatchEventMethodInfo a signature where
overloadedMethod _ = dOMEventTargetDispatchEvent
#endif
foreign import ccall "webkit_dom_event_target_remove_event_listener_with_closure" webkit_dom_event_target_remove_event_listener_with_closure ::
Ptr DOMEventTarget ->
CString ->
Ptr (GClosure ()) ->
CInt ->
IO CInt
{-# DEPRECATED dOMEventTargetRemoveEventListener ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
dOMEventTargetRemoveEventListener ::
(B.CallStack.HasCallStack, MonadIO m, IsDOMEventTarget a) =>
a
-> T.Text
-> GClosure b
-> Bool
-> m Bool
dOMEventTargetRemoveEventListener target eventName handler useCapture = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
eventName' <- textToCString eventName
handler' <- unsafeManagedPtrCastPtr handler
let useCapture' = (fromIntegral . fromEnum) useCapture
result <- webkit_dom_event_target_remove_event_listener_with_closure target' eventName' handler' useCapture'
let result' = (/= 0) result
touchManagedPtr target
touchManagedPtr handler
freeMem eventName'
return result'
#if ENABLE_OVERLOADING
data DOMEventTargetRemoveEventListenerMethodInfo
instance (signature ~ (T.Text -> GClosure b -> Bool -> m Bool), MonadIO m, IsDOMEventTarget a) => O.MethodInfo DOMEventTargetRemoveEventListenerMethodInfo a signature where
overloadedMethod _ = dOMEventTargetRemoveEventListener
#endif