module GI.WebKit2WebExtension.Interfaces.DOMEventTarget
(
DOMEventTarget(..) ,
noDOMEventTarget ,
IsDOMEventTarget ,
toDOMEventTarget ,
DOMEventTargetAddEventListenerMethodInfo,
dOMEventTargetAddEventListener ,
DOMEventTargetDispatchEventMethodInfo ,
dOMEventTargetDispatchEvent ,
DOMEventTargetRemoveEventListenerMethodInfo,
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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.WebKit2WebExtension.Objects.DOMEvent as WebKit2WebExtension.DOMEvent
newtype DOMEventTarget = DOMEventTarget (ManagedPtr DOMEventTarget)
noDOMEventTarget :: Maybe DOMEventTarget
noDOMEventTarget = Nothing
type instance O.SignalList DOMEventTarget = DOMEventTargetSignalList
type DOMEventTargetSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
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 => IsDOMEventTarget o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError DOMEventTarget a) =>
IsDOMEventTarget a
#endif
instance IsDOMEventTarget DOMEventTarget
instance GObject.Object.IsObject DOMEventTarget
toDOMEventTarget :: IsDOMEventTarget o => o -> IO DOMEventTarget
toDOMEventTarget = unsafeCastTo DOMEventTarget
instance O.HasAttributeList DOMEventTarget
type instance O.AttributeList DOMEventTarget = DOMEventTargetAttributeList
type DOMEventTargetAttributeList = ('[ ] :: [(Symbol, *)])
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 "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 "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveDOMEventTargetMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
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 "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveDOMEventTargetMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDOMEventTargetMethod t DOMEventTarget, O.MethodInfo info DOMEventTarget p) => O.IsLabelProxy t (DOMEventTarget -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDOMEventTargetMethod t DOMEventTarget, O.MethodInfo info DOMEventTarget p) => O.IsLabel t (DOMEventTarget -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#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 Closure ->
CInt ->
IO CInt
dOMEventTargetAddEventListener ::
(B.CallStack.HasCallStack, MonadIO m, IsDOMEventTarget a) =>
a
-> T.Text
-> Closure
-> Bool
-> m Bool
dOMEventTargetAddEventListener target eventName handler useCapture = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
eventName' <- textToCString eventName
handler' <- unsafeManagedPtrGetPtr 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'
data DOMEventTargetAddEventListenerMethodInfo
instance (signature ~ (T.Text -> Closure -> Bool -> m Bool), MonadIO m, IsDOMEventTarget a) => O.MethodInfo DOMEventTargetAddEventListenerMethodInfo a signature where
overloadedMethod _ = dOMEventTargetAddEventListener
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
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 ()
)
data DOMEventTargetDispatchEventMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDOMEventTarget a, WebKit2WebExtension.DOMEvent.IsDOMEvent b) => O.MethodInfo DOMEventTargetDispatchEventMethodInfo a signature where
overloadedMethod _ = dOMEventTargetDispatchEvent
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 Closure ->
CInt ->
IO CInt
dOMEventTargetRemoveEventListener ::
(B.CallStack.HasCallStack, MonadIO m, IsDOMEventTarget a) =>
a
-> T.Text
-> Closure
-> Bool
-> m Bool
dOMEventTargetRemoveEventListener target eventName handler useCapture = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
eventName' <- textToCString eventName
handler' <- unsafeManagedPtrGetPtr 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'
data DOMEventTargetRemoveEventListenerMethodInfo
instance (signature ~ (T.Text -> Closure -> Bool -> m Bool), MonadIO m, IsDOMEventTarget a) => O.MethodInfo DOMEventTargetRemoveEventListenerMethodInfo a signature where
overloadedMethod _ = dOMEventTargetRemoveEventListener