#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
module GHCJS.DOM.EventTargetClosures
(eventTargetAddEventListener) where
import GHCJS.Types
import GHCJS.Foreign
import GHCJS.DOM.Types
#ifdef ghcjs_HOST_OS
foreign import javascript unsafe
"($1[\"addEventListener\"]($2, $3, $4) ? 1 : 0)"
ghcjs_dom_event_target_add_event_listener ::
JSRef GObject -> JSString -> JSRef a -> Bool -> IO Bool
foreign import javascript unsafe
"($1[\"removeEventListener\"]($2, $3, $4) ? 1 : 0)"
ghcjs_dom_event_target_remove_event_listener ::
JSRef GObject -> JSString -> JSRef a -> Bool -> IO Bool
#else
ghcjs_dom_event_target_add_event_listener ::
JSRef GObject -> JSString -> JSRef a -> Bool -> IO Bool
ghcjs_dom_event_target_add_event_listener = undefined
ghcjs_dom_event_target_remove_event_listener ::
JSRef GObject -> JSString -> JSRef a -> Bool -> IO Bool
ghcjs_dom_event_target_remove_event_listener = undefined
#endif
eventTargetAddEventListener ::
(GObjectClass self, ToJSString eventName, IsEvent event) =>
self -> eventName -> Bool -> (self -> event -> IO ()) -> IO (IO ())
eventTargetAddEventListener self eventName bubble user = do
callback <- syncCallback1 AlwaysRetain True $ \e -> user self (unsafeCastGObject $ GObject e)
ghcjs_dom_event_target_add_event_listener
(unGObject (toGObject self))
(toJSString eventName)
callback
bubble
return $ do
ghcjs_dom_event_target_remove_event_listener
(unGObject (toGObject self))
(toJSString eventName)
callback
bubble
release callback
#else
module GHCJS.DOM.EventTargetClosures (
module Graphics.UI.Gtk.WebKit.DOM.EventTargetClosures
) where
import Graphics.UI.Gtk.WebKit.DOM.EventTargetClosures
#endif