{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE JavaScriptFFI #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} module GHCJS.DOM.JSFFI.Generated.MediaKeySession (js_generateRequest, generateRequest, js_load, load, load_, js_update, update, js_close, close, js_remove, remove, js_getSessionId, getSessionId, js_getExpiration, getExpiration, js_getClosed, getClosed, js_getKeyStatuses, getKeyStatuses, keystatuseschange, message, MediaKeySession(..), gTypeMediaKeySession) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import qualified Prelude (error) import Data.Typeable (Typeable) import GHCJS.Types (JSVal(..), JSString) import GHCJS.Foreign (jsNull, jsUndefined) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) import GHCJS.Marshal (ToJSVal(..), FromJSVal(..)) import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..)) import Control.Monad (void) import Control.Monad.IO.Class (MonadIO(..)) import Data.Int (Int64) import Data.Word (Word, Word64) import Data.Maybe (fromJust) import Data.Traversable (mapM) import GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync) import GHCJS.DOM.JSFFI.Generated.Enums foreign import javascript interruptible "$1[\"generateRequest\"]($2, $3).then(function(s) { $c(null, s);}, function(e) { $c(e, null);});" js_generateRequest :: MediaKeySession -> JSString -> BufferSource -> IO JSVal -- | generateRequest :: (MonadIO m, ToJSString initDataType, IsBufferSource initData) => MediaKeySession -> initDataType -> initData -> m () generateRequest self initDataType initData = liftIO ((js_generateRequest self (toJSString initDataType) (toBufferSource initData)) >>= maybeThrowPromiseRejected) foreign import javascript interruptible "$1[\"load\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);});" js_load :: MediaKeySession -> JSString -> IO (JSVal, Bool) -- | load :: (MonadIO m, ToJSString sessionId) => MediaKeySession -> sessionId -> m Bool load self sessionId = liftIO ((js_load self (toJSString sessionId)) >>= checkPromiseResult) -- | load_ :: (MonadIO m, ToJSString sessionId) => MediaKeySession -> sessionId -> m () load_ self sessionId = liftIO (void (js_load self (toJSString sessionId))) foreign import javascript interruptible "$1[\"update\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);});" js_update :: MediaKeySession -> BufferSource -> IO JSVal -- | update :: (MonadIO m, IsBufferSource response) => MediaKeySession -> response -> m () update self response = liftIO ((js_update self (toBufferSource response)) >>= maybeThrowPromiseRejected) foreign import javascript interruptible "$1[\"close\"]().then(function(s) { $c(null, s);}, function(e) { $c(e, null);});" js_close :: MediaKeySession -> IO JSVal -- | close :: (MonadIO m) => MediaKeySession -> m () close self = liftIO ((js_close self) >>= maybeThrowPromiseRejected) foreign import javascript interruptible "$1[\"remove\"]().then(function(s) { $c(null, s);}, function(e) { $c(e, null);});" js_remove :: MediaKeySession -> IO JSVal -- | remove :: (MonadIO m) => MediaKeySession -> m () remove self = liftIO ((js_remove self) >>= maybeThrowPromiseRejected) foreign import javascript unsafe "$1[\"sessionId\"]" js_getSessionId :: MediaKeySession -> IO JSString -- | getSessionId :: (MonadIO m, FromJSString result) => MediaKeySession -> m result getSessionId self = liftIO (fromJSString <$> (js_getSessionId self)) foreign import javascript unsafe "$1[\"expiration\"]" js_getExpiration :: MediaKeySession -> IO Double -- | getExpiration :: (MonadIO m) => MediaKeySession -> m Double getExpiration self = liftIO (js_getExpiration self) foreign import javascript interruptible "$1[\"closed\"].then(function(s) { $c(null, s);}, function(e) { $c(e, null);});" js_getClosed :: MediaKeySession -> IO JSVal -- | getClosed :: (MonadIO m) => MediaKeySession -> m () getClosed self = liftIO ((js_getClosed self) >>= maybeThrowPromiseRejected) foreign import javascript unsafe "$1[\"keyStatuses\"]" js_getKeyStatuses :: MediaKeySession -> IO MediaKeyStatusMap -- | getKeyStatuses :: (MonadIO m) => MediaKeySession -> m MediaKeyStatusMap getKeyStatuses self = liftIO (js_getKeyStatuses self) -- | keystatuseschange :: EventName MediaKeySession onkeystatuseschange keystatuseschange = unsafeEventName (toJSString "keystatuseschange") -- | message :: EventName MediaKeySession MessageEvent message = unsafeEventNameAsync (toJSString "message")