ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/MediaSession.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from mediasession (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.MediaSession
(js_setActionHandler, js_setCameraActive, js_setMicrophoneActive, js_setPositionState, js_setMetadata, js_getMetadata, js_setPlaybackState, js_getPlaybackState, setActionHandler, setCameraActive, setMicrophoneActive, setPositionState, setMetadata, getMetadata, getMetadataUnsafe, getMetadataUnchecked, setPlaybackState, getPlaybackState, MediaSession(..), gTypeMediaSession)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript safe "(($1, $2, $3) => { return $1[\"setActionHandler\"]($2, $3); })"
js_setActionHandler :: MediaSession -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/setActionHandler MDN MediaSession.setActionHandler documentation>
setActionHandler :: (MonadDOM m) => MediaSession -> MediaSessionAction -> Maybe MediaSessionActionHandler -> m ()
setActionHandler self action handler = liftDOM (void (((toJSVal action) >>= \a2' -> (toJSVal handler) >>= \a3' -> js_setActionHandler (self) a2' a3')))
foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"setCameraActive\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_setCameraActive :: MediaSession -> Bool -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/setCameraActive MDN MediaSession.setCameraActive documentation>
setCameraActive :: (MonadDOM m) => MediaSession -> Bool -> m ()
setCameraActive self active = liftDOM (void (((js_setCameraActive (self) (active)) >>= checkPromiseResult)))
foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"setMicrophoneActive\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_setMicrophoneActive :: MediaSession -> Bool -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/setMicrophoneActive MDN MediaSession.setMicrophoneActive documentation>
setMicrophoneActive :: (MonadDOM m) => MediaSession -> Bool -> m ()
setMicrophoneActive self active = liftDOM (void (((js_setMicrophoneActive (self) (active)) >>= checkPromiseResult)))
foreign import javascript safe "(($1, $2) => { return $1[\"setPositionState\"]($2); })"
js_setPositionState :: MediaSession -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/setPositionState MDN MediaSession.setPositionState documentation>
setPositionState :: (MonadDOM m) => MediaSession -> Maybe MediaPositionState -> m ()
setPositionState self state = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal state) >>= \a2' -> js_setPositionState (self) a2')))
foreign import javascript safe "(($1, $2) => { $1[\"metadata\"] = $2; })"
js_setMetadata :: MediaSession -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/metadata MDN MediaSession.metadata documentation>
setMetadata :: (MonadDOM m) => MediaSession -> Maybe MediaMetadata -> m ()
setMetadata self val = liftDOM (void (((toJSVal val) >>= \a2' -> js_setMetadata (self) a2')))
foreign import javascript unsafe "(($1) => { return $1[\"metadata\"]; })"
js_getMetadata :: MediaSession -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/metadata MDN MediaSession.metadata documentation>
getMetadata :: (MonadDOM m) => MediaSession -> m (Maybe MediaMetadata)
getMetadata self = liftDOM (((js_getMetadata (self)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/metadata MDN MediaSession.metadata documentation>
getMetadataUnsafe :: (MonadDOM m, HasCallStack) => MediaSession -> m MediaMetadata
getMetadataUnsafe self = liftDOM ((((js_getMetadata (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/metadata MDN MediaSession.metadata documentation>
getMetadataUnchecked :: (MonadDOM m) => MediaSession -> m MediaMetadata
getMetadataUnchecked self = liftDOM ((pFromJSVal <$> (js_getMetadata (self))))
foreign import javascript safe "(($1, $2) => { $1[\"playbackState\"] = $2; })"
js_setPlaybackState :: MediaSession -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/playbackState MDN MediaSession.playbackState documentation>
setPlaybackState :: (MonadDOM m) => MediaSession -> MediaSessionPlaybackState -> m ()
setPlaybackState self val = liftDOM (void (((toJSVal val) >>= \a2' -> js_setPlaybackState (self) a2')))
foreign import javascript unsafe "(($1) => { return $1[\"playbackState\"]; })"
js_getPlaybackState :: MediaSession -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/playbackState MDN MediaSession.playbackState documentation>
getPlaybackState :: (MonadDOM m) => MediaSession -> m MediaSessionPlaybackState
getPlaybackState self = liftDOM (((js_getPlaybackState (self)) >>= fromJSValUnchecked))